Я пишу макрос, чтобы сделать пару вещей.Моя цель - импортировать таблицу, а затем скопировать ее на 3 разных листа в одном файле.В конце концов я хочу организовать эти 4 таблицы с моими подводными лодками.Поскольку у меня есть 4 листа в файле, мне нужно написать отдельную подпункт для каждого листа.
Наконец, я хочу привести их к полному сабвуферу под названием All ().Но когда я это делаю, мой макрос заходит в бесконечный цикл.
Я попытался запустить их по отдельности, и они работали правильно.Но я не знаю, почему они не работают, когда бегают вместе.Вот мой код:
Sub Format_1()
Sheets(1).Range("H2") = "P Axial"
Dim delete_list(7) As String
delete_list(0) = "Absolute Distance"
delete_list(1) = "V2"
delete_list(2) = "V3"
delete_list(3) = "T"
delete_list(4) = "U1 Plastic"
delete_list(5) = "U2 Plastic"
delete_list(6) = "U3 Plastic"
delete_list(7) = "R1 Plastic"
i = 1
Do While Sheets(1).Cells(2, i) <> ""
If IsInArray(Sheets(1).Cells(2, i), delete_list) Then
Columns(i).EntireColumn.Delete
i = i - 1
End If
i = i + 1
Loop
End Sub
Sub All()
Call Format_1
Call Format_2
Call Format_3
Call Format_4
End Sub
Этот код будет выполняться для 4 разных листов одинаково.Единственное изменение будет Листами (2), Листами (3), Листами (4) вместо Листов (1).
Я хотел бы знать, почему они не работают вместе, а работают по отдельности.Заранее спасибо.
PS: IsInArray - это функция, которая проверяет, видна ли строка в массиве.