我录制了这个宏:
Sheets("Sheet1").Select
Range("D4:E4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("ALB3").Select
Range("C1").Select
ActiveSheet.Paste
我想制作一个循环来重复这个过程。 从范围D4:E4到D200:E200时选择
将其粘贴在ALB3到ALB196的相应工作表名称上。
我在表1中的数据。
列a是工作表名称,列d4和e4,是我要在已创建的每个工作表上粘贴的数据。
答案 0 :(得分:2)
如果您尝试将范围从一个工作表复制到另一个工作表,则不需要循环,也不需要选择。您可以使用不使用剪贴板的复制语法。
试试这个:
Sub CopyRangeToAnotherSheet()
Dim source As Worksheet
Dim target As Worksheet
Set source = ActiveWorkbook.Sheets("Sheet1")
Set target = ActiveWorkbook.Sheets("Sheet2")
source.Range("D4:E200").Copy target.Range("ALB3")
End Sub
要将源范围复制到工作簿中除源工作表之外的所有工作表,请尝试以下操作:
Sub CopyToAllSheets()
Dim ws As Worksheet
For Each ws In Worksheets
CopyRangeToAnotherSheet (ws.Name)
Next
End Sub
Sub CopyRangeToAnotherSheet(targetName As String)
Dim source As Worksheet
Dim target As Worksheet
Set source = ActiveWorkbook.Sheets("Sheet1")
Set target = ActiveWorkbook.Sheets(targetName)
If target.Name <> source.Name Then
source.Range("D4:E200").Copy target.Range("ALB3")
End If
End Sub