Форум по VBA и MS Office

VBA, Excel => VBA, макросы в Excel => Тема начата: telesh от 29 мая 2017, 14:39

Название: Excel VBA: Как очистить лист от данных?
Отправлено: telesh от 29 мая 2017, 14:39
Как сделать так, чтобы при нажатии кнопки, очищались данные из строк A3 по О3 и до последней заполненной строки?

[вложение удалено администратором]
Название: Re: Excel VBA: Как очистить лист от данных?
Отправлено: Администратор от 29 мая 2017, 15:19
Про поиск последней строки написано здесь: https://forumvba.ru/index.php?topic=588.0

Макрос
Sub Макрос()

    Dim lr As Long
   
    '1. Поиск последней строки.
    lr = Cells.Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
        SearchDirection:=xlPrevious, MatchCase:=False, SearchFormat:=False).Row
    ' Если данных нет.
    If lr < 3 Then
        Exit Sub
    End If
   
    '2. Очистка.
    Range("A3:O" & lr).Clear

End Sub
[свернуть]
Название: Re: Excel VBA: Как очистить лист от данных?
Отправлено: telesh от 29 мая 2017, 15:28
Использовал ClearContents за место Clear и все прекрасно очищает. Спасибо.
Название: Re: Excel VBA: Как очистить лист от данных?
Отправлено: Администратор от 29 мая 2017, 15:30
Да, правильнее использовать "ClearContents", я просто перепутал. Я его и хотел вам предложить, т.к. Clear удаляет кроме данных ещё и оформление.