下面是一个示例代码,演示如何使用Excel宏中的FOR EACH循环将相同范围复制粘贴到不同的工作表并粘贴到下一列:
Sub CopyAndPaste()
Dim wsCopy As Worksheet
Dim wsPaste As Worksheet
Dim copyRange As Range
Dim pasteRange As Range
' 设置要复制的工作表
Set wsCopy = ThisWorkbook.Sheets("Sheet1")
' 设置要粘贴的起始工作表
Set wsPaste = ThisWorkbook.Sheets("Sheet2")
' 设置要复制的范围
Set copyRange = wsCopy.Range("A1:A10")
' 设置要粘贴的起始范围
Set pasteRange = wsPaste.Range("A1")
' 使用FOR EACH循环复制并粘贴数据到不同的工作表
For Each cell In copyRange
' 复制数据
cell.Copy
' 粘贴数据到下一列
pasteRange.PasteSpecial Paste:=xlPasteValues
' 更新粘贴范围
Set pasteRange = pasteRange.Offset(0, 1)
Next cell
End Sub
这段代码将工作表“Sheet1”中的A1:A10范围中的数据复制粘贴到工作表“Sheet2”的A1:J10范围中。每次循环将数据粘贴到下一列。请根据您的具体需求修改范围和工作表名称。