excel文件内部是完全一样的,也就是表头一样,变量名称一样等,但是观测数不一样
现在需要从4000多个文件中将观测值合并为一个数据集。
现在我的办法是用pipe获得所有文件名后,用import读入,
但是这样子存在两个致命的问题:
1.太慢,要运行好几个小时
2.变量的长度读入的时候不能统一
求该问题好的解决方案!!!
该问题尝试用SAS解决,但是效果不好、
找到一段VBA程序,合并表格速度要快很多。共享一下
。
在工具-宏-宏中
- Sub huizong()
- mypath = ThisWorkbook.Path & "\"
- myfile = Dir(mypath & "*.xls")
- On Error Resume Next
- Do While myfile <> ""
- If myfile <> ThisWorkbook.Name Then
- Workbooks.Open mypath & myfile
- Workbooks(myfile).Sheets("第一部分").Activate
- Range("B3:R7").Select
- Selection.Copy
- Workbooks(ThisWorkbook.Name).Sheets("sheet1").Activate
- count2 = Range("A65536").End(xlUp).Row + 1
- Cells(count2, 1).Select
- Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
- :=False, Transpose:=False
- Workbooks(myfile).Close True
- End If
- myfile = Dir
- Loop
- End Sub
介绍几个主要的参数:
"第一部分" 是要合并的很多表格的sheet名字
("sheet1").是合并之后的sheet名字
("B3:R7是需要合并的格子 区间
("A65536"). 是从该格子向上判断,非空



雷达卡




京公网安备 11010802022788号







