Я пытаюсь отобразить столбцы, используя ввод от пользователя через список множественного выбора.
Я запускаю al oop, чтобы выяснить, была ли выбрана конкретная запись, и используя значение выбранной записи. чтобы найти его в диапазоне и затем отобразить определенный столбец.
Private Sub CommandButton1_Click()
Dim sel As Range
Dim TagDump As Range
Dim strng As String
Dim lRow As Long
ThisWorkbook.Sheets("Tag Dump").Range("A:AQ").EntireColumn.Hidden = True
Set TagDump = ThisWorkbook.Sheets("Tag Dump").Range("A1:AR1")
With Me.ListBox1
For lRow = 0 To .ListCount - 1
If .Selected(lRow) Then
strng = .List(lRow, 0)
With TagDump
Set sel = .Find(What:=strng, after:=.Cells(1, 1))
Debug.Print sel.Column
sel.EntireColumn.Hidden = False
End With
End If
Next lRow
End With
End Sub
Однако при его запуске я получаю сообщение об ошибке 91: переменная объекта или переменная блока не задана.
I Я использую Debug.Print без запуска sel.Entirecolumn.Hidden, чтобы узнать индекс столбца, и он правильно показывает меня каждый раз. Но когда я запускаю его вместе с этой командной строкой, я снова получаю сообщение об ошибке.
Пожалуйста, дайте мне знать, что вызывает это и как я могу это исправить.
Спасибо.
РЕДАКТИРОВАТЬ: Это нормально работает для первого выбранного значения, и я могу показать этот столбец, но для последующих значений, он показывает ошибку.