У меня есть лист с данными.Я хочу удалить столбцы на основе значения строки.
Мой код не останавливается, и когда я нажимаю escape, он удаляет все столбцы из моих начальных столбцов.
Я хочупроверьте значения в строке 2 от столбца D до последнего использованного столбца (у меня сейчас около 100 столбцов), чтобы, если они содержат C15, C17 и т. д., ничего не делали, иначе удалите столбцы.
У меня только 40k строк.Мой диапазон, столбец и строка будут расширяться каждую неделю, поэтому я хочу использовать VBA для сокращения времени форматирования.
Sub test()
'start
Dim LR1 As Long
Dim i As Long
Set ws = ThisWorkbook.ActiveSheet
With ws
LR1 = .Cells(2, .Columns.Count).End(xlToLeft).Column
Dim arr As Variant
Dim x
arr = Array("C15", "C17", "C19", "C20", "C21", "C22", "C23", "C24", "C25", "C28", "C29", "C30", "C32")
For x = LBound(arr) To UBound(arr)
For i = LR1 To 4 Step -1
If .Cells(2, i).Value = arr(x) Then
Else
.Columns(i).Delete
End If
Next i
Next x
End With
End Sub