Я получаю ошибку времени выполнения 91 в этой строке: ws.Rows ("1: 1"). Select.Find (T) .EntireColumn.Delete
На днях код работал хорошо,Сегодня это не так.Иногда я получаю ошибку в первом цикле кода, иногда это будет частично.* Внимание! Я очень новичок в vba
Спасибо большое, я долго боролся с этим.Было бы здорово, если бы вы могли объяснить, в чем мои проблемы, чтобы я мог учиться!:)
Я просмотрел все другие посты, связанные с этой проблемой, но проблемы не были достаточно связаны, чтобы я мог решить их.Я попытался прочитать некоторые статьи по определению объектов.Я использовал команду msgbox, чтобы убедиться, что коды находят значения и что швы работают все время, но она разбивается по команде 'find'.
Sub DeleteBadHeaders2()
Dim FirstHeading As Range
Set FirstHeading = Worksheets("Headings_To_Delete").Range("a2")
'Worksheet that has all the column headings I want deleted
Dim x As Integer
'x is for the do while loop to individually highlight each cell
Dim y As Long
y = Worksheets("Headings_To_Delete").Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count
'y acts as the upper bound to the headings to delete column for the while loop
Dim T As Variant
'T acts as a temporary value holder that will be used to delete the proper columns
Dim ws As Worksheet
Set ws = ActiveSheet
x = 0
Do While x < (y - 1)
Worksheets("Headings_To_Delete").Range("a2").Offset(x, 0).Interior.Color = RGB(224, 0, 0)
'Calling the rage as above fixes the active cell problem
Let T = Worksheets("Headings_To_Delete").Range("a2").Offset(x, 0).Value
'MsgBox T & " is found."
ws.Rows("1:1").Select.Find(T).EntireColumn.Select
'for testing switch the last part of the code to EntireColumn.Interior.Color = RGB(0, 225, 0)
x = x + 1
Loop
'The loop is highlighting the cells incrementally based on the first active cell until the upper limit of how many cells are in the column
End Sub
У меня естьтаблица данных со многими заголовками столбцов.У меня есть список всех заголовков столбцов, которые я не хочу в данных.Я хочу иметь надежный код VBA, который будет удалять заголовки столбцов, независимо от того, где они находятся на листе, и возможность для других, чтобы добавить другие столбцы для удаления, кто не знает, VBA