`
61party
  • 浏览: 1114777 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

选中Excel单元格自动导入多个Excel worksheets

 
阅读更多

前日完成将多个Excel文件批量导入某个Excel文件中老婆规定的任务后,老婆又提出了新的要求:

  1. 可以update每个worksheet
  2. 对导入的worksheets进行排序
  3. 自动匹配代导入文件的文件名
  4. 将导入的worksheets中的特定多个单元格(cells)的内容自动填充到某一表格的特定区域

本文中用到的Excel文件及VBA宏可以在此处(TBD)下载。


表1 选中的单元格
1 工作表 1
2 工作表 2
3 工作表 3
4 工作表 4
5 工作表 5
6 工作表 6
7 工作表 7
8 工作表 8
9 工作表 9
10 工作表 10

对应的各个worksheet的名字(Name)是:01工作表 1,02工作表 2,03工作表 3,……,10工作表 10.


待导入的Excel文件的名字为“02 某某银行XX项目_工作表 1_20110701.xls”。


Update 2011-07-13 21:50

应老婆的要求,更新了程序,遇到并解决的问题有:

  1. Office 2003和2007不兼容——有些method在office2003中正常工作但在office2007中却不再支持,如判定某文件是否存在的函数,解决方法参见FindFileName函数。
  2. 如果某个表中的一些单元格被筛选,则会遇到“不能复制合并的单元格”(Can't copy merged cell)的问题,解决方法就是在copy前强制关闭autofilter: newWB.Sheets(SheetToBeCopy).AutoFilterMode = False ' disable auto filter
  3. 关闭打开的Excel文件或者copy单元格时会有各种各样的对话框弹出来,解决办法就是加上下面语句:
Application.DisplayAlerts = True
newWB.Close SaveChanges:=False  ' close without change
Application.DisplayAlerts = True

Update 2011-07-14 15:37

傻瓜型用户的需求就是无穷无尽啊……我老婆发现在选择不连续的区域时,只有第一个区域会被处理,其他的没有变化。顶着挨骂的压力Google之后才知道,原来Slection.Areas可以包含所有不连续的选择,然后通过遍历,处理所有的选择……程序改动如下。


实现前三个需求的代码如下(Update 2011-07-14 15:37):


如要自动导入每个worksheet的特定单元格(L2:L6)到表2中的D,E,F,G,H列,可以使用下面的UpdateCells宏。



分享到:
评论

相关推荐

    Excel导入SQL数据库

    浏览的解决方法很多,“Location.href=”,“Navigate”,“Response.Redirect”都可以实现,建议用客户端的方法,原因是给服务器更多的时间生成Excel文件。 下载的实现要麻烦一些。用网上现成的服务器端下载组件或...

    vb2008连接,打开和保存excel教程

    工作簿(Workbook)包含多个工作表(Worksheet),通过`Worksheets`集合可以访问它们。例如,我们获取第一个工作表: ```vb.net Dim worksheet As Excel.Worksheet = workbook.Worksheets(1) ``` 或者根据工作表名...

    第五期:如何控制单元格.rar

    在“第五期:如何控制单元格.rar”这个压缩包中,包含了一个名为“第五讲:如何控制单元格.doc”的文档,很显然,它会详细讲解如何在VBA环境中对Excel单元格进行操作。下面我们将深入探讨这一主题。 首先,VBA...

    ASp.net 操作Excel对象,读取和写Excel

    - 使用`OpenFileDialog`控件让用户选择一个Excel文件。 - 代码片段展示了如何设置对话框的属性,并获取选中的文件路径。 2. **读写Excel**: - 创建Excel应用实例。 - 打开指定路径的Excel工作簿。 - 获取第一...

    Excel的读取和写入

    - `CRange`:表示一组单元格,可以对单个或多个单元格进行操作。 在导入接口后,可能需要对某些文件进行修改。例如,在`CRange.h`中,可能需要注释掉`DialogBox`函数并添加前缀“_”,以避免命名冲突。 为了读取...

    C#数据导出Excel详细介绍

    每个 Workbook 可以包含多个 Worksheet。 - **Range** 或 **Cells**:代表工作表中的一个单元格或一系列单元格。可以通过 `Cells[row, column]` 的方式来访问特定的单元格。 #### 三、具体操作 ##### 1. 创建 Excel...

    Excel-VBA宏编程实例源代码-工作表的操作-公司财务报表3.zip

    在VBA中,工作簿(Workbook)是由一个或多个工作表(Worksheet)组成的,而每个工作表则包含了许多单元格(Cells),这些单元格存储了数据或公式。 在VBA中操作工作表主要包括以下几个方面: 1. **选择和激活工作...

    javascript操作excel生成报表示例_.docx

    ` 分别创建了一个新的工作簿和选中的第一个工作表。 4. **格式化工作表**:包括合并单元格、设置单元格内容、调整行高、设置字体大小和名称、调整列宽、设置数字格式等。例如: - `xlsheet.Range(xlsheet.Cells(1,...

    VBA三百句

    - 批量操作多个工作表,如`Worksheets(Array("sheet1","sheet2")).Select`可同时选中多个工作表。 **6. 单元格与单元格区域处理** - 单元格的定位和操作,例如`ActiveCell.CurrentRegion`用于获取当前单元格所在...

    利用PYTHON操作WORD文档-综合文档

    这些操作覆盖了从创建文档、读写文档、设置文档格式、插入图片、添加表格到遍历文档样式等多个方面,对于日常的办公自动化需求,已经足够使用。然而需要注意的是,由于文档内容是通过OCR技术识别生成的,部分代码...

Global site tag (gtag.js) - Google Analytics