Новое здесь (первое сообщение), а также довольно новое для vba excel, и я столкнулся с камнем преткновения, который я пытаюсь решить. Если бы я мог найти помощь здесь, я был бы очень благодарен!
У меня есть пользовательская форма, которая содержит 90 флажков. При инициализации формы я хочу установить для всех флажков значение ИСТИНА или ЛОЖЬ в зависимости от значения, содержащегося в ячейке на указанном листе c, что я могу сделать, я просто сейчас должен сделать это для дополнительных 89 флажков, которые в его нынешнем формате будет громоздким.
Я ищу предложения относительно того, как этого можно достичь более кратким способом.
Спасибо!
Private Sub UserForm_Initialize()
Dim chRange As Range
Dim ws As Worksheet
Dim PDI_No As String
Dim Row As Integer
Dim rfind1 As Range
Dim Col_Ltr1 As String
Set ws = Worksheets("Master_Log")
Set chRange = ws.Range("A:A")
PDI_No = UpdateRecord.ComboBox1.Value
Row = Application.WorksheetFunction.Match(PDI_No, chRange, 0) 'finds row number
With Worksheets("Master_Log").Range("A1:DZ1")
Set rfind1 = .find(What:=CheckBox1.Caption, LookAt:=xlWhole, MatchCase:=False,
SearchFormat:=False) 'finds column number
Col_Ltr1 = Split((Columns(rfind1.Column).Address(, 0)), ":")(0) 'changes column number to a
letter
cellposition1 = Col_Ltr1 & Row 'range value
If ws.Range(cellposition1) = CheckBox1.Caption Then
CheckBox1.Value = True
Else
CheckBox1.Value = False
End If
End With
End Sub