我正在尝试找到一种方法来简化一项非常重复的任务。
这是我第一次尝试构建适当的宏,所以事情让我感到困惑。
下面是使它工作的尝试。
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
我正在尝试
- 从工作表 3 复制行 A2:C2
- 将其粘贴到工作表 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
任何帮助将不胜感激!