MyTetra Share
Делитесь знаниями!
Обращение к контролам с помощью объекта "Controls"
Время создания: 31.07.2019 23:06
Текстовые метки: Controls
Раздел: !Закладки - VBA - Форма
Запись: xintrea/mytetra_db_adgaver_new/master/base/1513012425xlh3ms008q/text.html на raw.githubusercontent.com

Вариант 1. Обращение к контролам с помощью объекта "Controls"

В этом варианте нужно, чтобы у лейбелов имена имели одинаковый корень (в этом пример у лейбелов корень "Label"), а после корня должен быть порядковый номер.

Private Sub CommandButton1_Click()
    Dim i As Long
    For i = 1 To 2 Step 1
        Me.Controls("Label" & i).Caption = "Caption"
    Next i
End Sub


Вариант 2. Обращение к контролам с помощью массива

Массив можно заполнять без цикла. Это я привёл пример с циклом.

Private Sub CommandButton1_Click()

    Dim arr() As MSForms.Label, i As Long
   
    '1. Создание ячеек в массиве.
    ReDim arr(1 To 2)
   
    '2. Привязка контролов к массиву.
    For i = 1 To UBound(arr) Step 1
        Set arr(i) = Me.Controls("Label" & i)
    Next i
   
    '3. Работа с контролами через массив.
    For i = 1 To UBound(arr) Step 1
        arr(i).Caption = "Caption"
    Next i

End Sub

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования