Исчезновение кнопки! - VBA
Формулировка задачи:
Привет!
Есть програмка, которая имеет UserForm1 с Label с 1 по 4. При нажатии на label выводит форму UserForm3 с 3 кнопками.
При нажатии на любую из них значение, написанное на кнопке возвращает Label на UserForm1 который был нажат.
Это реализовано благодоря гуру форумчанам.
Пытаюсь теперь сделать так, чтобы при выскакивании формы UserForm3 шла проверка. А есть ли уже где-нибудь подобная надпись, как на кнопках на label формы UserForm1. Если так, то кнопку надо спрятать.
Сейчас У меня есть вот такой код:
Листинг программы
- Public IG As Integer
- Sub ShowDialog()
- UserForm1.Show
- End Sub
Листинг программы
- Option Explicit
- Private LabDat(1 To 4) As New ClassCln
- Dim i As Integer
- Private Sub UserForm_Initialize()
- For i = 1 To 4
- Set Lab
Листинг программы
- Public WithEvents Lab As MSForms.Label
- Private Sub Lab_Click()
- IG = Mid$(Lab.Name, 6)
- Load UserForm3
- Dim i As Integer
- i = 1
- For i = 1 To 4
- If UserForm1.Controls("Label" & i) = UserForm3.CommandButton2.Caption Then
- UserForm3.Controls("CommandButton2").Visible = False
- UserForm3.Controls("CommandButton2").Locked = True
- Else
- UserForm3.Controls("CommandButton2").Visible = True
- UserForm3.Controls("CommandButton2").Locked = False
- End If
- Next i
- UserForm3.Show
- End Sub
Листинг программы
- Private Sub CommandButton1_Click()
- UserForm1.Controls("label" & IG) = CommandButton1.Caption
- Me.Hide
- End Sub
- Private Sub CommandButton2_Click()
- UserForm1.Controls("label" & IG) = CommandButton2.Caption
- Me.Hide
- End Sub
- Private Sub CommandButton3_Click()
- UserForm1.Controls("label" & IG) = CommandButton3.Caption
- Me.Hide
- End Sub
Прописал только для одной кнопки CommandButton2 и к сожалению срабатывает только если в Label4 совпадает значение. Подскажите, где ошибка, как оформить правильно?
Решение задачи: «Исчезновение кнопки!»
textual
Листинг программы
- Dim i As Integer, j As Integer, k As Integer
- For k = 1 To 3
- Controls("CommandButton" & k).Visible = True
- Controls("CommandButton" & k).Locked = False
- Exit For
- Next
- 'i = 1'???
- For i = 1 To 2
- For j = 1 To 4
- If Controls("CommandButton" & i).Caption = UserForm1.Controls("Label" & j) Then
- Controls("CommandButton" & i).Visible = False
- Controls("CommandButton" & i).Locked = True
- ' Else
- ' Controls("CommandButton" & i).Visible = True
- ' Controls("CommandButton" & i).Locked = False
- Exit For
- End If
- Next
- Next
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д