前日完成将多个Excel文件批量导入某个Excel文件中老婆规定的任务后,老婆又提出了新的要求:
- 可以update每个worksheet
- 对导入的worksheets进行排序
- 自动匹配代导入文件的文件名
- 将导入的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
应老婆的要求,更新了程序,遇到并解决的问题有:
- Office 2003和2007不兼容——有些method在office2003中正常工作但在office2007中却不再支持,如判定某文件是否存在的函数,解决方法参见FindFileName函数。
- 如果某个表中的一些单元格被筛选,则会遇到“不能复制合并的单元格”(Can't copy merged cell)的问题,解决方法就是在copy前强制关闭autofilter: newWB.Sheets(SheetToBeCopy).AutoFilterMode = False ' disable auto filter
- 关闭打开的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宏。
分享到:
相关推荐
浏览的解决方法很多,“Location.href=”,“Navigate”,“Response.Redirect”都可以实现,建议用客户端的方法,原因是给服务器更多的时间生成Excel文件。 下载的实现要麻烦一些。用网上现成的服务器端下载组件或...
工作簿(Workbook)包含多个工作表(Worksheet),通过`Worksheets`集合可以访问它们。例如,我们获取第一个工作表: ```vb.net Dim worksheet As Excel.Worksheet = workbook.Worksheets(1) ``` 或者根据工作表名...
在“第五期:如何控制单元格.rar”这个压缩包中,包含了一个名为“第五讲:如何控制单元格.doc”的文档,很显然,它会详细讲解如何在VBA环境中对Excel单元格进行操作。下面我们将深入探讨这一主题。 首先,VBA...
- 使用`OpenFileDialog`控件让用户选择一个Excel文件。 - 代码片段展示了如何设置对话框的属性,并获取选中的文件路径。 2. **读写Excel**: - 创建Excel应用实例。 - 打开指定路径的Excel工作簿。 - 获取第一...
- `CRange`:表示一组单元格,可以对单个或多个单元格进行操作。 在导入接口后,可能需要对某些文件进行修改。例如,在`CRange.h`中,可能需要注释掉`DialogBox`函数并添加前缀“_”,以避免命名冲突。 为了读取...
每个 Workbook 可以包含多个 Worksheet。 - **Range** 或 **Cells**:代表工作表中的一个单元格或一系列单元格。可以通过 `Cells[row, column]` 的方式来访问特定的单元格。 #### 三、具体操作 ##### 1. 创建 Excel...
在VBA中,工作簿(Workbook)是由一个或多个工作表(Worksheet)组成的,而每个工作表则包含了许多单元格(Cells),这些单元格存储了数据或公式。 在VBA中操作工作表主要包括以下几个方面: 1. **选择和激活工作...
` 分别创建了一个新的工作簿和选中的第一个工作表。 4. **格式化工作表**:包括合并单元格、设置单元格内容、调整行高、设置字体大小和名称、调整列宽、设置数字格式等。例如: - `xlsheet.Range(xlsheet.Cells(1,...
- 批量操作多个工作表,如`Worksheets(Array("sheet1","sheet2")).Select`可同时选中多个工作表。 **6. 单元格与单元格区域处理** - 单元格的定位和操作,例如`ActiveCell.CurrentRegion`用于获取当前单元格所在...
这些操作覆盖了从创建文档、读写文档、设置文档格式、插入图片、添加表格到遍历文档样式等多个方面,对于日常的办公自动化需求,已经足够使用。然而需要注意的是,由于文档内容是通过OCR技术识别生成的,部分代码...