Я пытаюсь отсканировать столбцы от Z до A, если заголовок столбца (в строке 2) не соответствует заданному списку значений, а затем удалить столбец или диапазон («Z2: Z», last_row и т. Д. И т. Д.),
вот мой код (раздел столбца, который я нашел в Интернете, но он не работает)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
WBPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")
'scan for the line to delete row 2 , row 3, row 4 depending
For i = 6 To 2 Step -1
If Range("A" & i) = "" Then
Rows(i).Select
Selection.Delete Shift:=xlUp
End If
Next i
'scan columns for matching names
Dim ws As Worksheet
Dim j As Long
Dim delRange As Range
'~~> Set this to the relevant worksheet
Set ws = ActiveSheet
With ws
'~~> Loop through relevant columns
For j = 26 To 1 Step -1
'~~> Check if the value is equal to YY
If Worksheets(ws).Cells(2, j).Value <> "Name" Or "F/N" Or "Ref Des" Or "Component Location" Or "Qty" Then
Columns(i).Select
Selection.Delete Shift:=xlLeft
End If
Next j
End With
Ошибка в этой строке с несоответствием типа 13
If Worksheets(ws).Cells(2, j).Value <> "Name" Or "F/N" Or "Ref Des" Or "Component Location" Or "Qty" Then
Я думаю, что мой код для строк намного чище, есть ли аналогичный метод для столбцов или лучший метод для сканирования и уничтожения столбцов?