[英]Loop Through each Cells in another workbook with a For Each Loop
有关For Each In表达式的快速问题:
我将此行用于同一文件中但不同工作表中的所有行:
For Each c In tarRng
count = count + 1
Debug.Print "c.Value: "; c.Value
Debug.Print "cAdd: "; c.Address
Debug.Print "count"; count
Next
tarRng定义为B列的所有行,它们可以完美工作,它遍历所有行并输出该行中的值以及调试屏幕中每个值的地址。 这里有一个后面的功能,我刚才在这里省略了。
现在的问题是:我想在同一文件夹中获得不同工作簿的B列,但是当我这样定义它时(这里是固定范围,因为我只想测试它)。
For Each c In Workbooks("Nvm_Configuration_ASW.xlsm").Worksheets("Tabelle2").Range("B3:B271")
它只显示一次值为1的计数,甚至不输出c.Value或c.Address。 我确信文件和工作表的表达式是正确的,因为我尝试使用与文件名相同的文件来工作,因此它可以正常工作。
谢谢,Mathias
如果未打开工作簿,则必须使用Workbooks.Open()
将其打开:
Public Sub TestMe()
Dim myCell As Range
Dim wks As Workbook
Set wks = Workbooks.Open("C:\Users\Nvm_Configuration_ASW.xlsm")
For Each myCell In wks.Worksheets(1).Range("A1:A5")
Debug.Print myCell
Next
End Sub
如果已打开,则您的代码应该可以正常工作, 但应在同一Excel实例中打开它。
默认情况下,它将在同一实例中打开,除非您不做一些其他技巧:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.