Программное создание макроса - VBA/Excel

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Прошу помощи с кодом! Есть форма, в которой содержаться checkboxы, отвечающие за отображение столбцов(скрыть/показать) Необходимо создать макрос, который будет записывать код в форму для создания новых checkbox c заданными параметрами Во вложениях оставлю пример

Решение задачи: «Программное создание макроса»

textual
Листинг программы
Private bEnable As Boolean
 
Private Sub CommandButton1_Click()
    Dim t$: t = TextBox1.Value
    
    If Len(t) > 0 Then
       With Range("Таблица7").ListObject
            .ShowHeaders = True 'на всякий случай
            If Application.CountIf(.HeaderRowRange, t) = 0 Then
               ListBox1.AddItem t: TextBox1.Value = ""
               .ListColumns.Add.Name = t
            Else
               MsgBox "Имя не должно совпадать с уже имеющимся"
            End If
       End With
     Else
       MsgBox "Введите имя нового столбца"
    End If
End Sub
 
Private Sub ListBox1_Change()
    If bEnable = True Then Exit Sub
    
    Dim i&
    For i = 0 To ListBox1.ListCount - 1
        Range("Таблица7").Columns(i + 1).Hidden = ListBox1.Selected(i)
    Next
End Sub
 
Private Sub UserForm_Initialize()
    Dim c As Range, i&
    bEnable = True
    With Range("Таблица7").ListObject
         .ShowHeaders = True 'на всякий случай
         For Each c In .HeaderRowRange
             ListBox1.AddItem c.Value
             ListBox1.Selected(i) = c.Columns.Hidden
             i = i + 1
         Next
    End With
    bEnable = False
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5
Похожие ответы