使用for循环来调用VBA中的连续variables名称(即car1,car2 … car10)

情景)我有七个variables; labelKid1,labelKid2,… LabelKid3。 我正在通过单元格查找非空的单元格,然后将值input标签,从labelKid1开始,然后移动到下一个标签。

问题)有没有办法让我们循环通过这些variables? 通过这个我的意思是我可以以某种方式调用variables,如labelKid + j,j是for循环的值? 这可以让我更容易地走过标签。

现在,我明白,我可以通过将标签放入一个数组中,并使用for循环来调用它们的标记来做到这一点,但有没有办法做到这一点,如上所述?

不,VBA不支持variablesvariables(因为它们是在PHP中调用的)。 正如你所说,你将需要使用列表,字典或类似的。

您可以使用UserForm1.Controls("labelKid" & i)来实现这一点,它调用与UserForm1相关联的名称的任何窗体控件

所以你需要这样的东西

 Sub ControlName() Dim i As Long For i = 1 To 10 UserForm1.Controls("labelKid" & i).Value = i Next End Sub 

希望这可以帮助!