[英]Looping through all the worksheets in a workbook
这是我遍历所有工作表的代码。 我想从所有工作表中复制特定的单元格值并将其粘贴到我的主表中。 首先,我尝试了一张工作表,它的工作正常。 我修改了相同的代码以遍历工作簿中的所有工作表。 我显示了工作表名称和要复制的数据。 它正确地进入了所有工作表,但是除了第一张纸之外,我没有得到工作表的数据。 除了第一个工作表,它甚至没有显示在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
几件事情:
ws
变量限定Range()
来在循环中引用工作表的 请尝试以下代码:
Dim ws As Worksheet
Dim i As Long
Dim Coverage_ID As String
For Each ws In ActiveWorkbook.Worksheets
If ws.Range("C3").Value = "" Then
Coverage_ID = ws.Range("C2").Value
MsgBox Coverage_ID
ThisWorkbook.Worksheets(2).Range("A1").Offset(i, 0) = Coverage_ID
i = i + 1
Else
Coverage_ID = ws.Range("C3").Value
MsgBox Coverage_ID
ThisWorkbook.Worksheets(2).Range("A1").Offset(i, 0) = Coverage_ID
i = i + 1
End If
MsgBox ws.Name
Next ws
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.