Я хотел бы указать значение ComboBoxes, которое я создал с помощью цикла, но я не знаю, как их зовут. Как я могу найти их имя?Как получить имя динамически созданного ComboBox в VBA?
Sub addLabel()
Dim theLabel As Object
Dim theRanker As Object
Dim labelCounter As Long
Dim RowCount As Integer
RowCount = Sheets("Overview").Range("A" & Rows.count).End(xlUp).Row
For labelCounter = 1 To RowCount
Set theRanker = CriteriaPairwiseForm.Controls.Add("Forms.ComboBox.1", "Rating" & labelCounter, True)
With theRanker
.Left = 20
.Width = 150
.Top = 30 * labelCounter
.AddItem "Equal Importance"
.AddItem "Moderate Importance"
.AddItem "Strong Importance"
.AddItem "Very Strong Importance"
.AddItem "Extreme Importance"
End With
Set theLabel = CriteriaPairwiseForm.Controls.Add("Forms.Label.1", "CriteriaRank" & labelCounter, True)
With theLabel
.caption = Cells(labelCounter, 1).Value
.Left = 200
.Width = 150
.Top = 30 * labelCounter
End With
Next labelCounter
End Sub
Вы пробовали использовать 'theRanker.Name'? –
Вы получаете ссылку в коде выше, почему бы вам просто не назвать их удобным? – Comintern
Тим, который вернул «Рейтинг3», но затем, когда я попытался ссылаться на его значение, используя Rating3.Value, он сказал, что переменная не определена. – Lilian