Список со второго листа - PullRequest
0 голосов
/ 18 января 2019

Нужна помощь в создании списка на первом листе с использованием заголовков столбцов на вторых листах. Я хочу использовать выбранные значения из списка, чтобы удалить соответствующие столбцы данных со второго листа. Я полностью потерялся - ПОМОГИТЕ

1 Ответ

0 голосов
/ 18 января 2019

Вот решение VBA.

Sub PopulateListBox()
    Dim ListBox As MSForms.ListBox, columnHeaders As Range, header As Range

    Set ListBox = Worksheets("Sheet1").ListBox1
    Set columnHeaders = Worksheets("Sheet2").Range("A1:C1")

    ListBox.Clear

    For Each header In columnHeaders
        ListBox.AddItem (header)
    Next header
End Sub

Sub ListBox1_Click()
    Dim headerIndex As Integer, selectedHeader As Integer

    For headerIndex = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(headerIndex) = True Then
            DeleteColumn ListBox1.List(headerIndex)
        End If
    Next headerIndex

    PopulateListBox
End Sub

Sub DeleteColumn(headerId As String)
    Dim ListBox As MSForms.ListBox, columnHeaders As Range, header As Range

    Set columnHeaders = Worksheets("Sheet2").Range("A1:C1")

    For Each header In columnHeaders
        If header = headerId Then
            header.EntireColumn.Delete
        End If
    Next header
End Sub

Примечания:

  1. Добавьте Forms.ListBox на свой лист (sheet1 в моем примере) и заполните его заголовками столбцов (в моем примере это sheet2 в A1:C1)
  2. Когда пользователь щелкает заголовок в ListBox, столбец удаляется, и ListBox обновляется, чтобы удалить этот столбец в качестве выделения
  3. Вам необходимо соответствующим образом настроить ссылки на диапазон.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...