Excelmacros:用于循环文件到文件

我不知道VBA,但我需要写一个macros来优化我的工作。 我正在寻找我的代码来遍历文件,并从每个文件复制/粘贴相同的列到Excel工作簿(逐列)。 这是我迄今为止(注意,我把“我”的文件名):

Sub NewMacro() For i = 0 To 99 Workbooks.OpenText Filename:= _ "C:\User\Folder\file_up000i.txt", _ Origin:=932, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _ Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _ TrailingMinusNumbers:=True Range("A3").Select Selection.Copy With ActiveWindow .Top = 6.25 .Left = 53.5 End With Windows("Book1").Activate With ActiveWindow .Top = 40.75 .Left = 13 End With Range("B1").Select ActiveSheet.Paste Windows("file_up000i.txt").Activate Range("C26").Select Range(Selection, Selection.End(xlDown)).Select Application.CutCopyMode = False Selection.Copy Windows("Book1").Activate Range("B2").Select ActiveSheet.Paste Windows("file_up000i.txt").Activate With ActiveWindow .Top = 4 .Left = -75.5 End With ActiveWindow.Close Next i End Sub 

显然这不起作用,但我不知道如何去做。 非常感谢你的帮助!

假设你的文件被命名为file_up0000.txtfile_up0001.txtfile_up0099.txt这里是你的macros的重构

 Sub NewMacro() Dim i As Long Dim shTxt As Worksheet Dim shDest As Worksheet Dim TxtName As String Set shDest = ActiveSheet For i = 0 To 99 TxtName = "file_up" & Format(i, "0000") Workbooks.OpenText Filename:= _ "C:\User\Folder\" & TxtName & ".txt", _ Origin:=932, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _ Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), _ TrailingMinusNumbers:=True Set shTxt = Workbooks(TxtName & ".txt").Worksheets(TxtName) shTxt.[A3].Copy shDest.[B1] shTxt.Range(shTxt.[C26], shTxt.Range("C26").End(xlDown)).Copy shDest.[B2] shTxt.Parent.Close False Next i End Sub