从多个Excel中抽取数据,填写到一个表中时,使用VBA就非常方便和快捷。一、打开目标Excel,将其它Excel需要用到数据的工作表,依次复制到目标Excel中。
二、视图 → 宏→ 输入宏名,如:wyzx → 创建
Alt+F11快速进入VBA模式
三、进入宏(即VBA)后:
Sub wyzx()
...........
End Sub
四、用到的知识
1、Excel对象主要有4个:工作薄 Workbook,工作表 Worksheet,单元格区域 Range,单元格 Cell
2、引用工作表,有两种方式:通过表名引用,通过表顺序引用。【一般用前者】
3、数据行数 n = Sheets("工作表名").UsedRange.Rows.Count
或 数据行数 n = Sheet1.UsedRange.Rows.Count ‘Sheets("工作表名")对应的内部表名
4、操作单元格:Sheet1.cells(r,c) r为行,c为列,均从1开始
五、跨工作表操作
工作表名!.cells(x,y)
六、跨工作簿操作
num = 1
Dim fn()
ReDim fn(num)
fn(1) = "E:\1.xlsx"
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Set xlApp = New Excel.Application
xlApp.Visible = False ' 使Excel可见,便于调试和查看
Set xlBook = xlApp.Workbooks.Open(fn(1))
For j = 2 To n
Sheet3.Cells(j, 2 + 0 * num + i - 1) = xlBook.Sheets("招办").Cells(j, 2)
Next
xlBook.Close SaveChanges:=False
Set xlBook = Nothing
Set xlApp = Nothing