i am trying to concatenate a variable into an object name in the code. I have an object named cmdopt29collapse, and i am trying to replace the 29 with a variable, but simply doing cmdopt & 'x' & collapse, isnt working, what am i missing?
Dim spaceBetween As Integer, origTop As Integer
If cmdOpt29Collapse.Caption = "-" Then
cmdOpt29Collapse.SetFocus
Opt29File_List_subform.Visible = False
spaceBetween = LblOpt28.Top - Opt29File_List_subform.Top - Opt29File_List_subform.Height
origTop = LblOpt28.Top
LblOpt28.Top = lblOpt29.Top + lblOpt29.Height + spaceBetween
CmdOpt28Collapse.Top = CmdOpt28Collapse.Top - (origTop - LblOpt28.Top)
Box28.Top = Box28.Top - (origTop - LblOpt28.Top)
Opt28File_List_subform.Top = LblOpt28.Top + LblOpt28.Height
'move 27
spaceBetween = lblOpt27.Top - Opt28File_List_subform.Top - Opt28File_List_subform.Height
origTop = lblOpt27.Top
lblOpt27.Top = LblOpt28.Top + LblOpt28.Height + spaceBetween
CmdOpt27Collapse.Top = CmdOpt27Collapse.Top - (origTop - lblOpt27.Top)
Box27.Top = Box27.Top - (origTop - lblOpt27.Top)
Opt27File_List_subform.Top = lblOpt27.Top + lblOpt27.Height
cmdOpt29Collapse.Caption = "+"
Else
spaceBetween = LblOpt28.Top - lblOpt29.Top - lblOpt29.Height
origTop = LblOpt28.Top
LblOpt28.Top = Opt29File_List_subform.Top + Opt29File_List_subform.Height + spaceBetween
CmdOpt28Collapse.Top = CmdOpt28Collapse.Top + (LblOpt28.Top - origTop)
Box28.Top = Box28.Top + (LblOpt28.Top - origTop)
Opt28File_List_subform.Top = LblOpt28.Top + LblOpt28.Height
Opt29File_List_subform.Visible = True
'move 27
spaceBetween = lblOpt27.Top - LblOpt28.Top - LblOpt28.Height
origTop = lblOpt27.Top
lblOpt27.Top = Opt28File_List_subform.Top + Opt28File_List_subform.Height + spaceBetween
CmdOpt27Collapse.Top = CmdOpt27Collapse.Top + (lblOpt27.Top - origTop)
Box27.Top = Box27.Top + (lblOpt27.Top - origTop)
Opt27File_List_subform.Top = lblOpt27.Top + lblOpt27.Height
cmdOpt29Collapse.SetFocus
cmdOpt29Collapse.Caption = "-"
End If
TL/DR, Long story short, i want to concatenate a variable into an object reference
CallByNamesupport.microsoft.com/kb/186143Me.Controls("cmdopt" & x & "collapse"), too. But if it is a variable seems like you are SOL unless you make it a property and use @DavidZemens link