求高手帮忙给解决一下EXCEL宏(VB)循环的问题,我就简单在帮助里搜了几行代码,但这样太费劲了。
Workbooks.Open"E:\新建文件夹\1(1).xls"Range("A34:AC38").SelectSelection.CopyWindows("结果.xl...
Workbooks.Open "E:\新建文件夹\1 (1).xls "
Range("A34:AC38").Select
Selection.Copy
Windows("结果.xls").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,SkipBlanks _
:=False, Transpose:=False
Windows("1 (1).xls").Activate
ActiveWindow.Close
Workbooks.Open "E:\新建文件夹\1 (2).xls "
Range("A34:AC38").Select
Selection.Copy
Windows("结果.xls").Activate
Range("A6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,SkipBlanks _
:=False, Transpose:=False
Windows("1 (2).xls").Activate
ActiveWindow.Close
基本目标就是打开所有该文件夹中的.xls文件,然后把需汇总结果所在的5行全部复制到一个叫结果的新表里,直到全部结果汇总完毕后,宏自动结束,我现在是简单罗列了几条代码,需要把文件重命名,而且每次只能支持140个文件,很费劲。求哪位高手能给用循环之类的东西给合并一下代码。
同时麻烦给我推荐一个VBA(宏)语言的教程之类的,可以是电子书、网址、视频等,谢谢!我的邮箱387760031@qq.com 展开
Range("A34:AC38").Select
Selection.Copy
Windows("结果.xls").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,SkipBlanks _
:=False, Transpose:=False
Windows("1 (1).xls").Activate
ActiveWindow.Close
Workbooks.Open "E:\新建文件夹\1 (2).xls "
Range("A34:AC38").Select
Selection.Copy
Windows("结果.xls").Activate
Range("A6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,SkipBlanks _
:=False, Transpose:=False
Windows("1 (2).xls").Activate
ActiveWindow.Close
基本目标就是打开所有该文件夹中的.xls文件,然后把需汇总结果所在的5行全部复制到一个叫结果的新表里,直到全部结果汇总完毕后,宏自动结束,我现在是简单罗列了几条代码,需要把文件重命名,而且每次只能支持140个文件,很费劲。求哪位高手能给用循环之类的东西给合并一下代码。
同时麻烦给我推荐一个VBA(宏)语言的教程之类的,可以是电子书、网址、视频等,谢谢!我的邮箱387760031@qq.com 展开
展开全部
在该文件夹下新建一个excel文件.打开这个文件.ALT+F11打开VBA编辑窗口,插 入一个模块,粘贴以下代码.
其实VBA 很简单.百度上搜一本简单的VB基础教程,了解一下VB的语法,和一些简单的编程方法,VBA跟VB的语法和编程方法是一样的.有区别的仅仅是多了很多专属的对象和函数,这些对象和函数用VBA帮助系统就是最好的学习方法,,如果你的excel是精简版的很可能没有VBA帮助系统.那么你可以百度"vba+手册+百度+老岩" 在老岩的空间中下载安装.在我本人的百度收藏中也有.你可以看看.
Sub hb()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim MyFile As String, EndrowHZ, EndRow As Long
Dim ShtName As String
MyFile = Dir(ThisWorkbook.Path & "\*.xls")
If MyFile <> "" Then
Do
If MyFile = ThisWorkbook.Name Then
MyFile = Dir
If MyFile = "" Then Exit Do
End If
Workbooks.Open (ThisWorkbook.Path & "\" & MyFile)
With Workbooks(MyFile)
EndrowHZ = ThisWorkbook.Sheets(1).[A65536].End(xlUp).Row
.Sheets(1).Rows("34:38").Copy Workbooks(ThisWorkbook.Name).Sheets(1).Rows(EndrowHZ + 1)
.Close
End With
MyFile = Dir
Loop While MyFile <> ""
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询