Макрос на очистку ячейки в excel

Метод Range.Clear для полной очистки диапазона ячеек из кода VBA Excel. Методы очистки отдельных свойств и их групп в ячейках. Примеры использования.

Методы очистки ячеек

Метод Очищаемые свойства Примечание
Range.Clear Почти все свойства Ширина и высота ячеек не изменяются
Range.ClearComments Комментарии Для Excel в составе Office 365
Range.ClearContents Формулы и значения Исходное форматирование сохраняется
Range.ClearFormats Свойства, задающие форматы В том числе отмена объединения ячеек
Range.ClearHyperlinks Гиперссылки Текст и форматирование сохраняются
Range.ClearNotes Примечания и заметки Примечания – для локальных программ Excel, заметки – для Excel в составе Office 365
Range.ClearOutline Структура данных Смотрите, что такое структурирование данных

Range – выражение, возвращающее диапазон ячеек.

Примеры использования

1. Удаление гиперссылки из ячейки A1
Cells(1, 1).ClearHyperlinks

2. Очистка диапазона A1:L50 от формул и значений
Range("A1:L50").ClearContents

3. Очистка всех свойств ячеек в столбцах A:K
Columns("A:K").Clear

4. Очистка форматирования ячеек в строках 1:20
Rows("1:20").ClearFormats

Методы очистки диапазонов ячеек в VBA Excel возвращают очищаемые свойства ячеек к значениям по умолчанию. К таким, как на вновь созданном стандартном рабочем листе. При любых методах очистки высота строк и ширина столбцов не изменяются.


Фразы для контекстного поиска: очистка ячеек, очистка ячейки, очистка формул, очистка от формул, удаление формул, очистка значений, удаление значений, очистка форматов, удаление форматирования, удаление форматов.


Обычно вы можете удерживать Ctrl нажмите клавишу, чтобы выбрать несколько конкретных ячеек, а затем очистите содержимое ячейки по мере необходимости. Если вам всегда нужно время от времени очищать эти конкретные ячейки, вы можете создать кнопку очистки, чтобы очистить их одним щелчком мыши. В этой статье я расскажу о том, как создать кнопку «Очистить все», чтобы очистить определенное содержимое ячеек.

Применить кнопку, чтобы очистить конкретное содержимое ячейки с помощью кода VBA


стрелка синий правый пузырь Применить кнопку, чтобы очистить конкретное содержимое ячейки с помощью кода VBA

Сначала вы должны создать кнопку формы, а затем применить код, наконец, привязать код к кнопке формы. Пожалуйста, сделайте следующее:

1. Нажмите Вставить > Формы > Прямоугольники , чтобы выбрать форму прямоугольника, а затем перетащите мышь, чтобы нарисовать кнопку прямоугольника в любом месте листа, как вам нужно, см. снимок экрана:

кнопка doc очистить ячейки 1

2. Затем введите текст и отформатируйте кнопку формы, как вам нужно, см. Снимок экрана:

кнопка doc очистить ячейки 2

3. Затем вы должны вставить код VBA, удерживая ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.

Код VBA: очистить содержимое определенных ячеек:

Sub Clearcells()
'Updateby Extendoffice
Range("A2", "A5").Clear
Range("C10", "D18").Clear
Range("B8", "B12").Clear
End Sub

Внимание: В приведенном выше коде: A2, A5 указать, что он очистит ячейки в диапазоне A2: A5, а не только две ячейки по отдельности, вы можете добавить несколько диапазонов, например Диапазон («B8», «B12»). Очистить сценарий внутри кода, чтобы очистить.

4. Затем сохраните и закройте окно кода, а затем свяжите код с кнопкой формы, щелкните кнопку правой кнопкой мыши и выберите Назначить макрос, В Назначить макрос диалогового окна, выберите Клирселлс кодовое имя из Имя макроса список и щелкните OK кнопку, чтобы выйти из этого диалогового окна. Смотрите скриншот:

кнопка doc очистить ячейки 3

5. А теперь, когда вы нажимаете Очистить все Кнопка, определенные вами ячейки очищаются сразу, см. снимок экрана:

кнопка doc очистить ячейки 4


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (63)


Оценок пока нет. Оцените первым!

 

требуется очистить ячейки, нашел только макрос «удалить»  

  rivate Sub CommandButton2_Click()  
Range(«B17:K500»).Delete  
End Sub  

    замена Delete -> Clean  не сработала :)))

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Попробуйте clear. Или clearcontents.

Я сам — дурнее всякого примера! …

 

Range(«B17:K500»).Select  
   Selection.ClearContents

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Clear  
ClearContents  

  Чаще справку читайте.

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Зачем искать?  
Для этого есть макрорекордер — включаем, стираем (через Delete), выключаем, смотрим:  

     Range(«A1:A6»).Select  
   Selection.ClearContents  

      выкидываем ненужное:    
       Range(«A1:A6»).ClearContents  

  Если аналогично сделать через меню «очистить всё», то получим  
       Range(«A1:A6»).Clear

 

Формат не удаляет:  
Range(«B17:K500»).ClearContents  

  Формат удаляет:  
Range(«B17:K500»).Clear

 

формат должен оставаться.  

  всем пасибо!  

    тема клозет

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Говорил же автору — больше нужно читать :)  

  closet — каморка  
клозет — устар. помещение для отправления естественных надобностей

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#9

09.07.2012 09:52:32

{quote}{login=d-konstruktor}{date=09.07.2012 09:45}{thema=}{post}тема клозет{/post}{/quote}Клозет — помещение для отправления естественных надобностей.  
Вы хотите открыть новую тему? :-)

193 / 9 / 1

Регистрация: 05.10.2010

Сообщений: 309

1

Очистка данных в ячейках

20.10.2011, 23:24. Показов 50541. Ответов 6


Студворк — интернет-сервис помощи студентам

Подскажите пожалуйста как можно очистить ячейки данных в VBA?



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

20.10.2011, 23:24

6

XoFfiCEr

исследователь

325 / 104 / 3

Регистрация: 18.03.2010

Сообщений: 1,079

Записей в блоге: 2

21.10.2011, 00:59

2

Цитата
Сообщение от VIG
Посмотреть сообщение

Подскажите пожалуйста как можно очистить ячейки данных в VBA?

Excel?

Visual Basic
1
2
Activesheet.Cells(1,1).Value=""                            ' одна ячейка
Activesheet.Range("A1:D5").Value=""                        ' диапазон ячеек



2



Апострофф

Заблокирован

21.10.2011, 07:36

3

Visual Basic
1
2
Activesheet.Cells(1,1).Clear                 ' полная очистка одной ячейка (Value, Format, Comments и т.д.)
Activesheet.Range("A1:D5").ClearContents          ' очистка только Value диапазона ячеек

И ещё есть несколько видов — см. ниже

Изображения

 



2



0 / 0 / 0

Регистрация: 07.08.2016

Сообщений: 47

26.12.2018, 19:20

4

А как с помощью Clear очистить лист только от значений в ячейках?т.е. к примеру чтобы закраски и форматы ячеек остались нетронутыми

Добавлено через 1 минуту
Уважаемые знатоки, подскажите как с помощью clear очистить лист только от значений ну т.е чтобы закраски и форматы ячеек остались нетронутыми??



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

26.12.2018, 19:51

5

repository, прочитайте пост выше.



1



74 / 7 / 2

Регистрация: 15.11.2018

Сообщений: 72

27.12.2018, 12:14

6

мега популярная тема. Вот оказывается что интересно форумчанам



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

27.12.2018, 13:19

7

Цитата
Сообщение от ram007
Посмотреть сообщение

мега популярная тема

— так ей уже более 7-ми лет



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

27.12.2018, 13:19

Помогаю со студенческими работами здесь

Сравнение данных в ячейках
Есть данные в первой ячейке. Во вторую добавляю часть данных из первой ячейки и надо чтобы в…

Загрузка данных, построение графика, сохранение и очистка данных
здравствуйте, нужно написать программу, в которой будет построение графика, кнопки: загрузка…

Объединение данных в ячейках Excel
добрый день!

возможно такой вопрос уже проскакивал — но как я не искал, нашел только очень…

Изменение данных в ячейках с UserForm
умоляю помогите с ума схожу уже с этой таблицей.
Проблема с копкой Изменить на второй форме, т.к…

Подсчёт данных в ячейках и строках
Необходимо подсчитать сумму чисел по строкам и столбцам, при этом в самих ячейках помимо чисел…

Форматирование данных в ячейках столбца
Здравствуйте. Подскажите пожалуйста. Есть столбец, в нем различные данные.
Например, В столбце…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

7

то, что надо! спасибо!
проблемка вылезла!

Sub clear2()

If MsgBox(«Î÷èñòèòü ÿ÷åéêè?», vbYesNo, «Ïîäòâåðæäåíèå») = vbYes Then
    Union(Range(«D8:D122»), Range(«F8:F122»), Range(«H8:H122»), Range(«J8:J122»), Range(«A7»), Range(«E7»), Range(«G7»), Range(«K7»)).ClearContents
    Union(Range(«D125:D239»), Range(«F125:F239»), Range(«H125:H239»), Range(«J125:J239»), Range(«E124»), Range(«G124»), Range(«K124»)).ClearContents
    Union(Range(«D242:D356»), Range(«F242:F356»), Range(«H242:H356»), Range(«J242:J356»), Range(«E241»), Range(«G241»), Range(«K241»)).ClearContents
    Union(Range(«D359:D473»), Range(«F359:F473»), Range(«H359:H473»), Range(«J359:J473»), Range(«E358»), Range(«G358»), Range(«K358»)).ClearContents
    Union(Range(«D476:D590»), Range(«F476:F590»), Range(«H476:H590»), Range(«J476:J590»), Range(«E475»), Range(«G475»), Range(«K475»)).ClearContents
    Union(Range(«D593:D707»), Range(«F593:F707»), Range(«H593:H707»), Range(«J593:J707»), Range(«E592»), Range(«G592»), Range(«K592»)).ClearContents
    Union(Range(«D710:D824»), Range(«F710:F824»), Range(«H710:H824»), Range(«J710:J824»), Range(«E709»), Range(«G709»), Range(«K709»)).ClearContents
    Union(Range(«D827:D941»), Range(«F827:F941»), Range(«H827:H941»), Range(«J827:J941»), Range(«E826»), Range(«G826»), Range(«K826»)).ClearContents
    Union(Range(«D944:D1058»), Range(«F944:F1058»), Range(«H944:H1058»), Range(«J944:J1058»), Range(«E943»), Range(«G943»), Range(«K943»)).ClearContents
    Union(Range(«D1061:D1175»), Range(«F1061:F1175»), Range(«H1061:H1175»), Range(«J1061:J1175»), Range(«E1060»), Range(«G1060»), Range(«K1060»)).ClearContents
    Union(Range(«D1078:D1292»), Range(«F1078:F1292»), Range(«H1078:H1292»), Range(«J1078:J1292»), Range(«E1177»), Range(«G1177»), Range(«K1177»)).ClearContents
    Union(Range(«D1295:D1409»), Range(«F1295:F1409»), Range(«H1295:H1409»), Range(«J1295:J1409»), Range(«E1294»), Range(«G1294»), Range(«K1294»)).ClearContents
    Union(Range(«D1412:D1526»), Range(«F1412:F1526»), Range(«H1412:H1526»), Range(«J1412:J1526»), Range(«E1411»), Range(«G1411»), Range(«K1411»)).ClearContents
    Union(Range(«D1529:D1643»), Range(«F1529:F1643»), Range(«H1529:H1643»), Range(«J1529:J1643»), Range(«E1528»), Range(«G1528»), Range(«K1528»)).ClearContents
    Union(Range(«D1646:D1760»), Range(«F1646:F1760»), Range(«H1646:H1760»), Range(«J1646:J1760»), Range(«E1645»), Range(«G1645»), Range(«K1645»)).ClearContents
    Union(Range(«D1763:D1877»), Range(«F1763:F1877»), Range(«H1763:H1877»), Range(«J1763:J1877»), Range(«E1762»), Range(«G1762»), Range(«K1762»)).ClearContents
    Union(Range(«D1880:D1994»), Range(«F1880:F1994»), Range(«H1880:H1994»), Range(«J1880:J1994»), Range(«E1879»), Range(«G1879»), Range(«K1879»)).ClearContents
    Union(Range(«D1997:D2111»), Range(«F1997:F2111»), Range(«H1997:H2111»), Range(«J1997:J2111»), Range(«E1996»), Range(«G1996»), Range(«K1996»)).ClearContents
    Union(Range(«D2114:D2228»), Range(«F2114:F2228»), Range(«H2114:H2228»), Range(«J2114:J2228»), Range(«E2213»), Range(«G2213»), Range(«K2213»)).ClearContents
    Union(Range(«D2231:D2345»), Range(«F2231:F2345»), Range(«H2231:H2345»), Range(«J2231:J2345»), Range(«E2230»), Range(«G2230»), Range(«K2230»)).ClearContents
    Union(Range(«D2348:D2462»), Range(«F2348:F2462»), Range(«H2348:H2462»), Range(«J2348:J2462»), Range(«E2247»), Range(«G2247»), Range(«K2247»)).ClearContents
    Union(Range(«D2465:D2579»), Range(«F2465:F2579»), Range(«H2465:H2579»), Range(«J2465:J2579»), Range(«E2464»), Range(«G2464»), Range(«K2464»)).ClearContents
    Union(Range(«D2582:D2696»), Range(«F2582:F2696»), Range(«H2582:H2696»), Range(«J2582:J2696»), Range(«E2581»), Range(«G2581»), Range(«K2581»)).ClearContents
    Union(Range(«D2699:D2813»), Range(«F2699:F2813»), Range(«H2699:H2813»), Range(«J2699:J2813»), Range(«E2698»), Range(«G2698»), Range(«K2698»)).ClearContents
    Union(Range(«D2816:D2930»), Range(«F2816:F2930»), Range(«H2816:H2930»), Range(«J2816:J2930»), Range(«E2815»), Range(«G2815»), Range(«K2815»)).ClearContents
    Union(Range(«D2933:D3047»), Range(«F2933:F3047»), Range(«H2933:H3047»), Range(«J2933:J3047»), Range(«E2932»), Range(«G2932»), Range(«K2932»)).ClearContents
    Union(Range(«D3050:D3164»), Range(«F3050:F3164»), Range(«H3050:H3164»), Range(«J3050:J3164»), Range(«E3049»), Range(«G3049»), Range(«K3049»)).ClearContents
    Union(Range(«D3167:D3281»), Range(«F3167:F3281»), Range(«H3167:H3281»), Range(«J3167:J3281»), Range(«E3166»), Range(«G3166»), Range(«K3166»)).ClearContents
    Union(Range(«D3284:D3398»), Range(«F3284:F3398»), Range(«H3284:H3398»), Range(«J3284:J3398»), Range(«E3283»), Range(«G3283»), Range(«K3283»)).ClearContents
    Union(Range(«D3401:D3515»), Range(«F3401:F3515»), Range(«H3401:H3515»), Range(«J3401:J3515»), Range(«E3400»), Range(«G3400»), Range(«K3400»)).ClearContents
    Union(Range(«D3518:D3632»), Range(«F3518:F3632»), Range(«H3518:H3632»), Range(«J3518:J3632»), Range(«E3517»), Range(«G3517»), Range(«K3517»)).ClearContents

             Else
   End If
End Sub

при защищенном листе выскакивает ошибка 400! А если смотрю что происходит в самом модуле, на строке которая выделена красным цветом, выдает ошибку 1004 run time!
Но если отключить защиту листа, все работает нормально, галочка доверять ВБА в настройках стоит!… Файлик скинуть не могу, так как оно очень много весит!
Подскажите, как можно исправить ошибку?

Понравилась статья? Поделить с друзьями:
  • Макрос на открытия другой книги в excel
  • Макрос на открытие формы в excel
  • Макрос на открытие документа excel
  • Макрос на объединение столбцов в excel
  • Макрос на миф для excel