VBA код для остановки скрипта, если столбец не появляется - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь заставить следующий код работать следующим образом: найдите определенные столбцы c в таблице и, если они не появляются, остановите сценарий и отобразите окно сообщения с сообщением «Ошибка: не все требуется» столбцы присутствуют ".

Это код:

Sub Find_Columns()

Dim rngToSearch As Range
Dim WhatToFind As Variant
Dim iCtr As Long

Set rngToSearch = ThisWorkbook.Worksheets("Data").Range("A1:XFD1048576")

WhatToFind = Array("Apples", "Oranges", "Pears") 'add all Column header that you want to check

With rngToSearch
    For iCtr = LBound(WhatToFind) To UBound(WhatToFind)
        If WorksheetFunction.CountIf(rngToSearch, WhatToFind(iCtr)) = 0 Then
           MsgBox WhatToFind(iCtr) & "Error: Not all columns are there"    Exit Sub
        End If
    Next
End With

End Sub

Спасибо

1 Ответ

1 голос
/ 31 января 2020

Вы можете попробовать следующий код. Я проверил, и он работает.

For Each cell In Range("A1:A5").Cells
        If Not IsInArray(cell.Value, WhatToFind) Then
            MsgBox "Error:Not Matched"
            Exit Sub
        End If
Next cell

Public Function IsInArray(stringToBeFound As String, arr As Variant) As Boolean
    Dim i
    For i = LBound(arr) To UBound(arr)
        If arr(i) = stringToBeFound Then
            IsInArray = True
            Exit Function
        End If
    Next i
    IsInArray = False

End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...