我可以使用字符串引用对象吗?

时间:2018-03-26 23:30:48

标签: excel-vba vba excel

所以我的代码看起来像这样:

Dim i As Integer
Dim labelnum As String

For i = 1 To 81
    labelnum = "Label" & i
    If "labelnum".Caption = Label1.Caption Then
    "labelnum".BackColor = Label1.BackColor
    End If
Next i

我想循环浏览81个标签以检查该标题中的标题是否与我选择的标题相同。还有什么我可以放在“labelnum”的地方吗?

我正在练习并尝试通过VBA制作数独游戏。我想突出显示我选择的框,并突出显示板上具有相同编号的所有其他方块。

谢谢!

1 个答案:

答案 0 :(得分:1)

在工作表中,标签是Shape对象,因此您可以使用Shapes集合:

Dim i As Integer
Dim shpLabel As Shape

For i = 1 To 81
    Set shpLabel = Sheet1.Shapes("labelnum" & i)
    If shpLabel.Caption = Label1.Caption Then
        shpLabel.BackColor = Label1.BackColor
    End If
    Set shpLabel = Nothing
Next i


在UserForm中,Label是{​​{1}}对象,因此您可以使用Control集合:

Controls