Excel从另一个Excel文件中用户自定义区域(UsedRange)拷贝数据和行高、列宽

【Excel VBA】超级实用的UsedRange Excel vba 使用两种方法介绍如果得到数据区最后一行行号、最后一列列号,这两种方法分别是End(xlUp) 和UsedRange。另外举例说明了使用UsedRange在循环中使用的便利。 阅读详情

实现环境:Visual Studio 2010, Office 2010, VSTO 4.0, .NET Framework 4.0

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Tools.Ribbon;
using Excel = Microsoft.Office.Interop.Excel;
using System.Windows.Forms;

namespace ExcelAddIn8
{
    public partial class Ribbon1
    {
        private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
        {

        }
        
        /// <summary>
        /// 在下面的动作中,将从选中的文件中的用户自定义区域(UsedRange)中拷贝
        /// 数据到现在这个WorkSheet中并根据选中文件中UsedRange的行高列宽来设定被
        /// 粘贴数据区域的行高列宽。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, RibbonControlEventArgs e)
        {
            var missing = Type.Missing;
            string SourcePath = string.Empty;
            Excel.Application objApplication = Globals.ThisAddIn.Application;
            Excel.Application objSourceApplication = new Excel.Application();
            Excel.Workbook objTargetWorkbook = objApplication.ActiveWorkbook;
            OpenFileDialog objOpenFileDialog = new OpenFileDialog();
            objOpenFileDialog.Filter = "Excel Document(.xlsx)|*.xlsx";
            objOpenFileDialog.ShowDialog();
            SourcePath = objOpenFileDialog.FileName;
            if (SourcePath.Length > 0)
            {
                Excel.Workbook objSourceWorkbook = objSourceApplication
                    .Workbooks.Open(SourcePath, missing, missing, missing,
                    missing,missing,missing,missing, missing, missing, missing, 
                        missing, missing,missing, missing);
                Excel.Worksheet objWorkSheet = objSourceWorkbook.Worksheets[1];
                objWorkSheet.UsedRange.Copy(missing);
                
                Excel.Worksheet objTargetSheet =
                    objTargetWorkbook.ActiveSheet;
                if (objTargetSheet != null)
                {
                    objTargetSheet.Paste();
                    Excel.Range objTargetRange = objApplication.ActiveCell;
                    //以下代码用来重新设定Range区域,使之与源文件中的UsedRange范
                    //围相当。
                    objTargetRange = objTargetSheet.Range[objTargetSheet.Cells
                        [objTargetRange.Row, objTargetRange.Column],
                        objTargetSheet.Cells[objTargetRange.Row 
                            + objWorkSheet.UsedRange.Rows.Count-1,
                           objTargetRange.Column + 
                           objWorkSheet.UsedRange.Columns.Count]];
                    //根据UsedRange的列宽来设置选定区域的列宽。
                    objTargetRange.ColumnWidth = objWorkSheet.UsedRange
                        .ColumnWidth;
                    //根据UsedRange的行高来设置选定区域的行高。
                    objTargetRange.RowHeight = objWorkSheet.UsedRange.RowHeight;
                }
            }
            ((Excel._Application)objSourceApplication).Quit();
            objSourceApplication = null;
        }
    }
}

相关资源: http://download.youkuaiyun.com/detail/tx_officedev/3900007

Quantum Espresso实战进阶:HSE混合泛函在能带计算中的精准应用 本文深入探讨了在Quantum Espresso中应用HSE混合泛函进行高精度能带计算的实战方法。针对传统DFT方法低估半导体带隙的问题,HSE通过混合精确交换能,显著提升计算精度。文章详细讲解了从输入文件配置、参数设置(如nqx网格、exxdiv_treatment)、到自洽与非自洽计算流程,以及结果可视化与对比的全过程,并提供了关键的调优与避坑指南,助力实现从PBE到HSE的精准进阶。 阅读详情

相关推荐

基于大模型的恶性胸腔积液全周期预测与诊疗方案研究

本研究基于大模型技术构建了恶性胸腔积液全流程预测与诊疗体系,涵盖术前风险评估、术中方案优化、术后恢复预测及并发症预防。通过整合多源医疗数据,实现了手术风险概率预测(准确率80%)、并发症预警(AUC值0.85)及个性化康复方案制定,显著提升诊疗精准度。研究创新性地将Transformer架构与多模态数据融合,在100例临床验证中显示良好性能,但存在数据样本局限、模型可解释性不足等问题。未来将扩大多中心临床验证,优化算法可解释性,探索与基因检测等技术的结合应用,推动恶性胸腔积液的精准诊疗发展。

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1897

VBA学习心得二:关于复制黏贴

Public Sub 复制黏贴() '[e2]代表开始要复制的单元格,[e2].End(xlDown)代表从e2单元格到非空单元格e8,k2代表要复制到的单元格,会黏贴格式,背景色是白色。 Range([e2], [e2].End(xlDown)).Copy [k2] '如果要复制非连续的数据,比如e2到e13,可以用UsedRange,来确定当前单元格使用的行数a,复制到m2单元格,不带格式,只是值,不会影响背景颜色,如果需要格式可以通过上面方法来复制黏贴 a = Workshe...

xiaoqiang3146的专栏 1662

source tree clone error:fatal remote error: Repository not found

source tree clone error:fatal remote error: Repository not found

Linda的前端开发路 3077

合并多个Excel文件的方法

合并多个excel文档同时自动去除除第一个表格之外的表格的表头方法步骤: 1、新建一个文件夹 2、将要合并的表格放到里面 3、并在文件夹内新建一个excel表格文件。 4、用excel打开,因为WPS没有宏命令所以只能使用excel打开。 5、在excel下方选项卡处,右击Sheet1选项卡。 6、选择查看代码 7、将下面代码复制到文本框中: 8、点击运行或按F5 9、一段时间(取决于表格的大小和多少)后,合并完成。 下列代码可以设定除第一个Excel表格以外的Excel文件从第几行或第...

u013652934的专栏 1593

S32的进阶之路->3,S32DS新建/删除/导入工程

右击工程名,点击Delect进行工程删除。选中Delect project contents on disk则会彻底删除工程,不选中Delect project contents on disk工程文件会保存在工作空间中。在Improt Projects中选择工程所在文件夹,选中所需要导入的工程,勾选Copy projects into workspace。选中目标示例工程,点击Finish,完成创建工程。导入已有工程,右击右击Project Explorer空白处,选择Import。

LC_8575的博客 2227

ESP32C6+ESP-IDF5.2实战:基于RS485的ModbusRTU从站开发与调试

本文详细介绍了基于ESP32C6和ESP-IDF5.2开发ModbusRTU从站的实战指南。涵盖硬件连接、协议实现、ESP-Modbus库移植、寄存器映射及调试技巧,帮助开发者快速构建稳定可靠的工业级RS485通信节点,并解决常见通信故障。

play7的博客 1188

VBA复制区域数据

Sheets(1).Range("B" & nStartRow).PasteSpecial '粘贴。Sheets(nSheet).UsedRange.Copy '复制到剪贴板。

ribut9225的专栏 1356

WRF和WPS模型在Ubuntu系统上的安装与常见问题解决指南

本文详细介绍了在Ubuntu系统上安装WRF和WPS模型的完整教程,涵盖系统环境配置、依赖库安装、源代码编译以及常见问题的解决方案。重点解决了WPS编译中intmath.f文件的修改、环境变量设置和编译器兼容性等关键难点,帮助用户高效部署气象研究与预报模型。

weixin_29213525的博客 382

VBA合并多个excel表

Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long Dim Num As Long Dim BOX As String flag = 0 Application.ScreenUpdating ...

是茗夏啊 1442

Altium Designer(AD24/25)导入DXF或DWG结构文件的方法

DXF(Drawing Exchange Format)和DWG(Drawing)是两种常见的CAD(计算机辅助设计)文件格式,常用于结构和硬件之间的沟通。本文介绍Altium Designer(AD24/25)导入DXF或DWG结构文件的方法。

fydar的博客 1448

太空安全卫士:基于YOLOv5的空间态势感知系统(实现轨道碰撞预警与太空环境保护)

做完这个项目,你会发现自己完整走过了“数据采集→标注→模型训练→功能集成→界面开发”的毕设全流程,这不仅是技术能力的证明,更是对“技术守护宇宙安全”这一理念的实践。答辩时,你可以重点讲这几点:系统解决了航天监测的哪些痛点、YOLOv5在太空目标检测中的性能优势、系统未来能怎么优化(比如对接航天监测网络、实现实时轨道预测)。未来,这个系统还能往“更智能”的方向发展:比如结合轨道计算预测碰撞风险、开发移动端APP让天文爱好者参与太空垃圾上报、在航天任务中实现全自动避障决策……想象空间很大。

m0_71589036的博客 90

python与excel列删除_Python+Xlwings操作Excel删除行和列

一、需求:某公司管理的多个资管计划每天生成A表,业务人员需手工打开每个A表,将某些行、列删除后方可打印上报。现拟采用程序代替手工操作。二、分析:1、应在原始文件的副本上操作,因此需拷贝文件夹内所有Excel至目标目录;解答:使用shutil.copy()2、需打开excel并删除指定的行和列;解答:openpyxl不支持xls格式,xlwt无法删除行和列,最终选择xlwings;三、代码实现:#!...

weixin_39828198的博客 600

AI Agent开发第84课-paddleocr-vl全网唯一最全本地化布署教程

本文详解 PaddleOCR-VL 本地化布署全过程,指出为何在真实生产环境中 PaddleOCR-VL 更稳定、更易部署、更贴近工程落地。同时还会详细比较与 DeepSeek-OCR 的核心差异,为全网独家介绍paddleocr-vl的本地部署实战指南。

打造全国最全的AI Agent开发知识领域的博客 5967

vb整合多个excel表格到一张_用VB把多个excel文件的数据顺序拷到一个excel中

是给朋友整理实验数据用的,两个小需求:一、要第一列是数据序号,且多个文件数据拷到目的文件的时候数据序号要按顺序排列;二、每个文件可能有多个worksheet,都要拷贝到目标文件里面。对于office2003以前的excel,是支持Application.FileSearch的,实现代码如下:Sub Test()Dim i As Integer,iRow As IntegerDim strPath ...

weixin_39905037的博客 591

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

vba实现wps的Excel合并单个表格的多个标签页功能

注意,原表格的筛选会被撤销,可以打开表格后先保存下,然后执行代码完毕后,关闭源表,再打开源表,这样源表的筛选可以保留。'MsgBox "所有标签页已成功拼接至新建的 Excel 文件中!打开需要合并的表格,打开宏编辑器,或者快捷键alt+f11,左表树表,右键模块,插入模块,粘贴代码执行。' 2. 如果当前有筛选(即某些行被隐藏了),则显示所有数据。' 检查该页是否为空(只处理有数据的页)' 设定新工作簿的第一个标签页为目标页。' 获取源工作簿文件名(表格名称)' 遍历源工作簿中的每一个标签页。

weixin_42112439的博客 291

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

vba 查询 拷贝行

<br />Sub aa()<br /> <br />'声明Excel相关<br />    Dim xlApp As Excel.Application<br />    Dim xlBook As Excel.Workbook<br />    Set xlApp = New Excel.Application<br />    <br />    Dim country() As String<br />    For i = 1 To ActiveWorkbook.Sheets("国家").Used

java学习相关内容 1273

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

matlab如何用代码导入文件_共享数据资源,VBA代码导入已有文本数据文件的方法...

大家好,我们今日继续讲解VBA代码解决方案的第76讲内容:如何导入文本文件。我们在日常的工作中经常会需要从其他的文件中把一些文本拷贝到EXCEL中,往往会由于格式的问题要很长时间才可以完成,这里我讲解一下利用VBA导入文本文件的办法。可以明显提高自己的工作效率,当然下面的代码不是万能的,可以根据自己的实际情况来修改编写。如果需要从文本文件中导入数据,可以使用OpenTextFile方法,应用于Fi...

weixin_29099729的博客 535

elementui实现纵向表头_代码分享:Python和VB代码实现批量合并EXCEL数据,拿走不谢...

在实际工作中,您经常需要处理各种Excel文件,例如合并很多个相同格式的Excel文件,或者同一个excel文件中很多个sheet,这种情况是不是常常令您头疼?您是否想过让计算机帮您自动处理?说不定,您花两天做的事情,计算机十多分钟可能就完成了。下面提供了三种合并数据的场景下的python代码和VB代码,可以复制粘贴直接使用~~场景一很多个相同格式的Excel文件,每个文件的表头都是一样的,存放在...

weixin_30444697的博客 266

python 两个数据框合并计算_代码分享:Python和VB代码实现批量合并EXCEL数据,拿走不谢...

在实际工作中,您经常需要处理各种Excel文件,例如合并很多个相同格式的Excel文件,或者同一个excel文件中很多个sheet,这种情况是不是常常令您头疼?您是否想过让计算机帮您自动处理?说不定,您花两天做的事情,计算机十多分钟可能就完成了。下面提供了三种合并数据的场景下的python代码和VB代码,可以复制粘贴直接使用~~场景一很多个相同格式的Excel文件,每个文件的表头都是一样的,存放在...

weixin_39610722的博客 565

Excel多文件合并(VBA方案)

这个问题是来自MM的。MM财务工作和Excel比较多。最近MM公司要统计各分公司的数据。由于城市比较多,需要汇总的工作量比较大。而且有很大一部分数据基础工作是Copy,Paste 数据。为表达对MM的关心和爱护(嘻嘻),写了这么一段VBA,可以大大减轻MM的工作量。 我用一个简单的原型来说明这个问题。 Excel文件:上海.xsl、北京.xsl、广州.xsl。这些数据由各地分公司提供,以3个城市说...

我的鱼塘 680

VBA合并多个EXCEL表代码

合并多个EXCEL表代码 今天工作时,写一个文档,突然需要将多个excel工作簿合并成一个,于是总结一下,希望有用。 1、合并多个EXCEL表为同一个EXCEL表 [code="java"] Sub CombineWorkbooks() Dim FilesToOpen Dim x As Integer On Error GoTo ErrHandler ...

3283

python操作excel性能问题求助

http://bbs.chinaunix.net/thread-1586782-1-1.html我刚刚用python写了一段操作excel的脚本,目的是把一个excel文件按照某一列中的字段拆分成多个文件,例如按照城市或者省份等,但是发现处理一个1700行的文件拆分成40多个文件时要运行30分钟左右,性能太慢,请高手帮忙看看怎么才能优化性能,谢谢。新手写的脚本,请不要见笑,如下:

liuyukuan的专栏 1588

VBA-批量分类建立worksheet,拷贝分类数据到worksheet并保存至单独workbook_henry_dx_新浪博客

序号 姓名 班级 分数 1 赵 一班 88 2 钱 二班 89 3 孙 一班 90 4 李 三班 91 5 周 四班 92 6 吴 五班 93 7 郑 四班 94 8 王 二班 95 9 张 三班 96 10 陈 五班 97 '按照C列数据批量建立不同名称的工作表 Sub sht_add() Dim i As Inte...

henry_dx的专栏 853

delphi 完全控制Excel 文件

( 一 ) 使用动态创建的方法 uses ComObj; 首先创建 Excel 对象Var ExcelApp : Variant ; ExcelApp := CreateOleObject ( '' Excel.Application '' ) ; 得到 Excel 的行数和列数ExcelApp.worksheets[1].usedrange.rows.countExcelA...

weixin_33817333的博客 117

python数据分析基础之操作excle

python中操作excel主要用到xlrd和xlwt这两个库, xlrd是读excel,xlwt是写excel的库 1、xlrd 导入xlrd模块 import xlrd 打开一个文件,并返回文件对象 filepath='hwp.xlsx' wb=xlrd.open_workbook(filepath) 获取excle文件中所有sheet的名称,并返回一个列表 listname=wb.sheet_names() 通过索引获取单个sheet对象 sheet1 = wb.sheet_by_index(0

nahanai的博客 301
上一篇: 一个UnversalTime与本地时间相互转换的工具
下一篇: 一个生成随机密码的WPF小程序
勾吴江南
博客等级 码龄15年 39粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值