2
私はVBAをまだ知らないが、自分の仕事を最適化するためにマクロを書く必要がある。 ファイルをループし、各ファイルの同じ列をExcelワークブック(列単位)にコピー/貼り付けるコードを探しています。Excelマクロ:forループファイル
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
明らかにこれは動作しませんが、私はそれについて移動する方法を誰のアイデアを持っていない:これは私がこれまでのところ(私は「i」のファイル名で置くことを告知)持っているものです。あなたの助けをありがとう!あなたのファイルがfile_up0000.txt
命名されていると仮定すると、
のリファクタリングですか?あなたのファイルはすべてゼロ詰め番号で名前が付けられていますか? 10番目のファイル名はfile_up00010.txtかfile_up0010.txtですか? –
Timの質問に加えて、なぜ99個のファイル名でハードコードを探していますか?これらのファイルがすべて存在しないとコードがクラッシュするか、99個以上のファイルがあると不完全になります。 'Dir'を使用して、可変数のファイルの関連する名前を取得することをお勧めします。これは、順序が重要な場合にソートすることができます。 – brettdj