【发布时间】:2014-09-15 22:14:56
【问题描述】:
这是我循环所有工作表的代码。我想从所有工作表中复制特定的单元格值并将其粘贴到我的主工作表中。首先我尝试了一张工作表,它工作正常。我修改了相同的代码以遍历工作簿中的所有工作表。我显示了要复制的工作表名称和数据。它正确地转到所有工作表,但除了第一张工作表之外,我没有得到工作表的数据。除了第一个工作表之外,它甚至没有显示在 msgbox 中。
For Each ws In ActiveWorkbook.Worksheets
If Range("C3").Value = "" Then
Coverge_ID = Range("C2")
MsgBox Coverge_ID
ThisWorkbook.Worksheets(2).Activate
Range("A1").Offset(I, 0) = Coverge_ID
I = I + 1
Else
Coverge_ID = Range("C3")
MsgBox Coverge_ID
ThisWorkbook.Worksheets(2).Activate
Range("A1").Offset(I, 0) = Coverge_ID
I = I + 1
End If
MsgBox ws.Name
Next ws
【问题讨论】:
-
当您使用多个工作表时,您需要使用工作表引用调用 Range。在您的情况下, ws.Range("C3").Value 否则代码始终引用“主”表(代码中的第一个)。使用 ws。无处不在...
-
是的,你是正确的。它现在工作。谢谢老哥