Ошибка времени выполнения 1004 при проверке пустых значений

Нижеследующее подразделение не работает:

Sub RemoveAllBelowStr() Dim SrchRng As Range, i As Integer Set SrchRng = ActiveSheet.Range("A1:A700") For i = 0 To SrchRng.rows.Count If IsEmpty(Cells(i, "A")) Then Exit For 'THIS LINE IS THROWING RUN TIME ERROR Next i rows(i & ":" & rows.Count).Delete End Sub 

Я получаю «1004-временную ошибку времени выполнения, определяемую приложением или объектом».

Пожалуйста посоветуй.

Проблема заключается в следующем: Cells(i, "A")

  1. Вы должны SrchRange какие ячейки, предположительно, из SrchRange
  2. Вам нужен числовой индекс столбца, а не "A"
  3. Он пытается получить доступ к нулевому индексу строки, но первый индекс равен 1

поэтому SrchRng.Cells(i, 1)

После исправления индекса:

 For i = 1 To SrchRng.Rows.Count 

В качестве альтернативы вы могли бы:

 dim cell as range For each cell in SrchRng if isempty(cell) then ... 

Цикл должен начинаться с 1, а не 0.

  • Ошибка визуальной базовой 1004 Excel, метод «значение» объекта «диапазон» не удалось
  • Код Excel VBA: ошибка компиляции в версии x64 (требуется атрибут «PtrSafe»)
  • Что вызывает ошибку времени выполнения MS VB -2147417848 (80010108) в Excel Macro
  • VBA в ошибке выполнения функции поиска 91
  • Excel VBA - ошибка выполнения 438: объект не поддерживает это свойство или метод
  • Объяснение - Копирование данных кода VBA с помощью PasteSpecial
  • Получение ошибки выполнения 91
  • Excel VBA Ошибка времени выполнения «424»: объект Обязательный при попытке копирования TextBox
  • Как конвертировать VBA Now () в секунды, чтобы определить общую продолжительность выполнения программы
  • Проблемы с несколькими ошибками Runtime: обновленный код - все еще возникают проблемы
  • Ошибка выполнения 91 для соскабливания конкретного тега html div тега в таблицу с помощью vba
  • Давайте будем гением компьютера.