JayyMehta Ответов: 1

Как проверить, что нужный лист есть в моей рабочей тетради?


Мне нужен файл excel, в котором есть заголовки столбцов, указанные "идентификатор сотрудника", "имя", "область", "город" и "штат", не обязательно в том же порядке. У меня также есть несколько листов в том же wbk, которые имеют несколько из вышеперечисленных заголовков, но не все из них. Я хочу найти такой лист, где столбец имеет все упомянутые заголовки, независимо от порядка. Я попытался закодировать его, но получил ошибку на линии:
For each ws in Workbooks("Trials.xslm").Worksheets

У меня ошибка &ЛТ;Нижний индекс вне диапазона&ГТ;.
Будьте добры, пролейте на него свет.

Что я уже пробовал:

Private Sub ValidButton_Click()
    Dim nColumn As Double
    Dim ws As Worksheet
    Dim i As Integer
    Dim strA As String, strB As String, strC As String, strD As String, strE As String
    strA = "Employee ID"
    strB = "Name"
    strC = "Area"
    strD = "City"
    strE = "State"
    
    For Each ws In Workbooks("Trials.xslm").Worksheets
        For i = 1 To UsedRange.Columns.Count
            If Cells(1, i).Value = strA Or strB Or strC Or strD Or strE Then
                MsgBox True
            Else
                MsgBox False
            End If
        Next i
    Next
        
End Sub

1 Ответов

Рейтинг:
2

Maciej Los

Цитата:
У меня ошибка &ЛТ;Нижний индекс вне диапазона&ГТ;.


Это означает, что Trials.xslm закрывающийся. Вы должны открыть его, прежде чем начнете делать что-то еще.

Dim wbk As Workbook

Set wbk = Application.Workbooks,Open("FullPathAndFilename.xlsx")

For Each ws In wbk.Worksheets
'your code here