1

非常に反復的なタスクを合理化する方法を見つけようとしています。

適切なマクロを構築しようとするのはこれが初めてなので、混乱しています。

以下は、それを機能させるための試みです。

Sub test()
Dim r As Range, j As Integer
Set r = Range("A2:C500")
Do
 Sheets("Sheet1").Range(r.Offset(1, 0)).Select
 Selection.Copy
 Sheets("Sheet1").Select
Range("D2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("D2:F494")
Range("D2:F494").Select
ActiveWorkbook.SaveAs Filename = j, FileFormat:=xlUnicodeText, _
    CreateBackup:=False

If r.Offset(1, 0) = "" Then Exit Do
Loop
End Sub


行 A2:C2 をシート 3 からコピーします -
シート 1 の D2 に貼り付けます
- その値をシート 1 の最後までドラッグします
- シート 1 をテキスト ファイルとして保存します (任意のファイル名でかまいません。は、1、2、3 などとして保存しようとしていました。)
- 次に、シート 3 の次の行 (A3:C3) に移動し、最後の行 A500:C500 に到達するまでプロセスを繰り返します。

最初の行だけのマクロを記録すると、次のようになりました。

  Sheets("Sheet3").Select
Range("A2:C2").Select
Selection.Copy
Sheets("Sheet1").Select
Range("D2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("D2:F494")
Range("D2:F494").Select
ActiveWorkbook.SaveAs Filename:= _
    "D:\Users\XXX\Desktop\XXX. XX\1.txt", FileFormat:=xlUnicodeText, _
    CreateBackup:=False

どんな助けでも大歓迎です!

4

2 に答える 2