Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: freeman_net от 16 мая 2017, 10:41

Название: Excel Макрос: Как удалить строку?
Отправлено: freeman_net от 16 мая 2017, 10:41
А какая команда на удаление, а не скрытие?
Или как можно удалить уже скрытые строчки/столбцы
Вместо
rng2.Rows(i).EntireRow.Hidden = True
пишем
rng2.Rows(i).EntireRow.Delete = True
Или как то иначе?
Название: Re: Excel Макрос: Как удалить строку?
Отправлено: Администратор от 16 мая 2017, 10:46
rng2.Rows(i).EntireRow.Delete
Название: Re: Excel Макрос: Как удалить строку?
Отправлено: freeman_net от 26 мая 2017, 14:37
    For i = 4 To 80 Step 1
   

        If (Cells(i, "G").Value = "") Or (Cells(i, "G").Value = 0) Then

Выдает ошибку>>>>            rng2.Rows(i).EntireRow.Delete

        Else
           
            Rows(i).Hidden = False
        End If
    Next i
Название: Re: Excel Макрос: Как удалить строку?
Отправлено: Администратор от 22 июня 2017, 10:28
Цикл у вас по листу:
Cells(i, "G")

А удаление в диапазоне:
rng2.Rows(i).EntireRow.Delete

Нестыковка у вас. Видите перед Rows(i) переменную "rng2"? Это диапазон.