VBA 江湖救急多个EXCEL文件合并,怎么除去第二到第N个表中每个SHE

fieldset{padding:10px;}

VBA 江湖救急,多个EXCEL文件合并,如何除去第二到第N个表中每个SHEET的表头多个格式相同的EXCEL文件合并(每个EXCEL都有多个SHEET),网上找了一代码,修改了下,但还需要进一步处理,可是我不会,所以来这请教高手们了。 1:我从第2到第N张表,表头内容就不复制了,但是下面关键代码有错,不知道怎么改,谢谢了。 Workbooks(dirname).Sheets(3).Range("A2", Cells.SpecialCells(xlCellTypeLastCell)).Copy _ Sheets(3).Range("a65536").End(xlUp).Offset(1, 0) 2:还有遍历EXCEL文件家所有SHEET,能不能写成循环呀. 不然 ‘复制新打开工作簿的第2个工作表的已用区域到当前工作表 Workbooks(dirname).Sheets(2).UsedRange.Copy _ Sheets(2).Range("a65536").End(xlUp).Offset(1, 0) 这段代码导致我有几个SHEET就要写几次,好麻烦呀…..Sub UnionWorksheets() 大家如果有更好的函数,或者代码能实现多个EXCEL文件数据合并的,也可以贴出. 谢谢大家了。 Dim i As Long ‘ 循环变量 i = 0 Dim insert_row As Long ‘ 合并文件中的粘贴位置 Application.ScreenUpdating = False Dim lj As String Dim dirname As String Dim nm As String lj = ActiveWorkbook.Path nm = ActiveWorkbook.Name dirname = Dir(lj & "\*.xls") Cells.Clear Do While dirname <> "" If dirname <> nm Then i = i + 1 Workbooks.Open filename:=lj & "\&; & dirname Workbooks(nm).Activate ‘复制新打开工作簿的第一个工作表的已用区域到当前工作表 ‘大哥们这个能不能写成循环,不然一个sheet来做一次好麻烦呀. Workbooks(dirname).Sheets(1).UsedRange.Copy _ Sheets(1).Range("a65536").End(xlUp).Offset(1, 0) ‘复制新打开工作簿的第2个工作表的已用区域到当前工作表 Workbooks(dirname).Sheets(2).UsedRange.Copy _ Sheets(2).Range("a65536").End(xlUp).Offset(1, 0) ‘复制新打开工作簿的第3个工作表的已用区域到当前工作表 If i = 1 Then Workbooks(dirname).Sheets(3).UsedRange.Copy _ Sheets(3).Range("a65536").End(xlUp).Offset(1, 0) Else ‘大哥们,我从第2到第N张表,表头内容就不复制了,但是下面代码有错,不知道怎么改,谢谢了。 Workbooks(dirname).Sheets(3).Range("A2", Cells.SpecialCells(xlCellTypeLastCell)).Copy _ Sheets(3).Range("a65536").End(xlUp).Offset(1, 0) End If Workbooks(dirname).Close False End If dirname = Dir Loop End Sub——解决方案——————————————————–1.行尾咋有个下划线,貌似这两行代码不连着啊,去掉试试。2.把sheet名改成包含数字标识的,如sheet1,sheet2……这样就可以用变量i实现循环,sheet名为"sheet"&i。——解决方案——————————————————–mark——解决方案——————————————————–excel问题还是excelhome上人多自己打败自己的远远多于比别人打败的。

VBA 江湖救急多个EXCEL文件合并,怎么除去第二到第N个表中每个SHE

相关文章:

你感兴趣的文章:

标签云: