我想将工作表的一个区域指定为一个名称,然后将该命名区域的每一行指定为VBA中的一个范围变量。
我可以将命名区域赋给一个范围变量,但必须传递整个区域。如果我尝试使用.Rows()只将特定的Row保存到一个范围变量,我将无法访问任何应该在命名变量中的值。
示例:
Dim FirstRow as range: set FirstRow = Worksheets("worksheetname").Range("NamedArea").Rows(1)
'Trying to get out any value:
Debug.Print FirstRow 'Runtime Error 13: types incompatible
Debug.Print FirstRow(1) 'Runtime Error 13: types incompatible
Debug.Print FirstRow(1,1) 'Runtime Error 13: types incompatible
'Trying to iterate through values:
For each i in FirstRow
Debug.Print "hello" ' Output: "hello" 'only once
Debug.Print "i" 'Runtime Error
next i
2条答案
按热度按时间a8jjtwal1#
mf98qq942#
您可以尝试: