#vba #excel #macros
#vba #преуспеть #макросы
Вопрос:
Я пытаюсь «автоматически» очистить несколько рабочих листов с помощью этого простого кода, приведенного ниже. Код работает, если у меня есть только один элемент в моем массиве, но как только я помещаю два или более, он удаляет все в последнем элементе (в данном случае «TestMA»).
Dim SheetsArray As Sheets
Set SheetsArray = ActiveWorkbook.Sheets(Array("TestCS", "TestMA"))
For Each msheets In SheetsArray
With msheets
i = 8
Do While i < 600
If .Cells(i, 2) = "" Then
Rows(i).Delete Shift:=xlUp '''''HERE IS THE PROBLEM
i = i - 1
End If
i = i 1
Loop
End With
Next msheets
Я определил, что проблема связана со строками (i).Удалить строку Shift:=xlUp.
Помогите!!
Ответ №1:
Вместо
Rows(i).Delete Shift:=xlUp '''''HERE IS THE PROBLEM
Использовать
.Rows(i).Delete Shift:=xlUp '''''NOTE THE INITIAL PERIOD
Комментарии:
1. Я попробовал это, и у меня это не сработало .. похоже, ничего не изменилось.