我与loops&;VBA中的数组
我在网上看了很多视频,但没有一个老师看过
在Python中,您可以通过设置my变量的索引来动态访问数组中的值:
array1 = [1,2,3,4,5]
b = 0
while(b < len(array1)):
print(array1[b])
b = b + 1
您可以使用iloc功能执行类似的操作…通过这种方式,我可以将变量_currentRow7更改为我想要的任何内容…我只需要执行_currentRow7 = _currentrow7+1
Array.iloc[_currentRow7, 11])
使用VBA Cells函数,我得到一个错误。本质上,我希望动态地从Excel访问值。例如-单元格(变量,1)…然后随着变量的变化,我正在访问下一个单元格中的值
Sub HomeRunCounterFNCTN()
Dim HomeRuns(27) As Integer
Dim HRCounter As Variant
Worksheets("Baseball").Activate
Range("L3").Activate
For HRCounter = 0 To 27
HomeRuns(HRCounter) = ActiveCell.Offset(HRCounter, 0).Value
If (HomeRuns(HRCounter) >= 45) Then MsgBox (HomeRuns(HRCounter))
MsgBox (Cells(HRCounter & 1))
Next HRCounter
End Sub
基本上,我希望MsgBox(Cells(HRCounter&;1))随着变量HRCounter的变化而动态更新
我能够毫无错误地运行您的代码,因此正如@Tim Williams所说的,描述您所遇到的错误会很有帮助
我确实在这一行中发现了一个非致命缺陷:
你可能是指
Cells(HRCounter, 1)
。输入错误不会导致程序错误,但该行无法捕获您想要捕获的内容除了打字错误之外,代码似乎做了您希望它做的事情。然而,为了更直接地回答您的问题,您当然可以使用可变单元格引用。在基本模式中,只需使用
SomeWorksheet.Cells(MyVar,1).Value
,其中MyVar是保存行号的变量要编写高效的VBA代码,请尽可能避免
Activate
和Select
。把它们想象成模仿人类用户行为的代码,这是很少需要的。而是直接使用Excel对象及其属性。您的代码可以按如下方式重铸,这也将使变量行引用的使用更加可见:相关问题 更多 >
编程相关推荐