Метод 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 возвращают очищаемые свойства ячеек к значениям по умолчанию. К таким, как на вновь созданном стандартном рабочем листе. При любых методах очистки высота строк и ширина столбцов не изменяются.
Фразы для контекстного поиска: очистка ячеек, очистка ячейки, очистка формул, очистка от формул, удаление формул, очистка значений, удаление значений, очистка форматов, удаление форматирования, удаление форматов.
|
требуется очистить ячейки, нашел только макрос «удалить» rivate Sub CommandButton2_Click() замена Delete -> Clean не сработала :))) |
|
|
KuklP Пользователь Сообщений: 14868 E-mail и реквизиты в профиле. |
Попробуйте clear. Или clearcontents. Я сам — дурнее всякого примера! … |
|
Range(«B17:K500»).Select |
|
|
vikttur Пользователь Сообщений: 47199 |
Clear Чаще справку читайте. |
|
Hugo Пользователь Сообщений: 23249 |
Зачем искать? Range(«A1:A6»).Select выкидываем ненужное: Если аналогично сделать через меню «очистить всё», то получим |
|
Формат не удаляет: Формат удаляет: |
|
|
формат должен оставаться. всем пасибо! тема клозет |
|
|
vikttur Пользователь Сообщений: 47199 |
Говорил же автору — больше нужно читать closet — каморка |
|
Юрий М Модератор Сообщений: 60570 Контакты см. в профиле |
#9 09.07.2012 09:52:32 {quote}{login=d-konstruktor}{date=09.07.2012 09:45}{thema=}{post}тема клозет{/post}{/quote}Клозет — помещение для отправления естественных надобностей. |
Обычно вы можете удерживать Ctrl нажмите клавишу, чтобы выбрать несколько конкретных ячеек, а затем очистите содержимое ячейки по мере необходимости. Если вам всегда нужно время от времени очищать эти конкретные ячейки, вы можете создать кнопку очистки, чтобы очистить их одним щелчком мыши. В этой статье я расскажу о том, как создать кнопку «Очистить все», чтобы очистить определенное содержимое ячеек.
Применить кнопку, чтобы очистить конкретное содержимое ячейки с помощью кода VBA
Применить кнопку, чтобы очистить конкретное содержимое ячейки с помощью кода VBA
Сначала вы должны создать кнопку формы, а затем применить код, наконец, привязать код к кнопке формы. Пожалуйста, сделайте следующее:
1. Нажмите Вставить > Формы > Прямоугольники , чтобы выбрать форму прямоугольника, а затем перетащите мышь, чтобы нарисовать кнопку прямоугольника в любом месте листа, как вам нужно, см. снимок экрана:
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 кнопку, чтобы выйти из этого диалогового окна. Смотрите скриншот:
5. А теперь, когда вы нажимаете Очистить все Кнопка, определенные вами ячейки очищаются сразу, см. снимок экрана:
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (63)
Оценок пока нет. Оцените первым!
Неправильный синтаксис проверки. Правильно:
If Cells(i, 3).Value <> "Deal" Or Cells(i, 3).Value <> "Meal" Or Cells(i, 3).Value <> "Run" Then
Так правильно с точки зрения синтаксиса, но неправильно логически. Применяется оператор Or (ИЛИ). При такой записи не может быть результата False.
Примеры.
В ячейке слово «Deal«:
"Deal" <> "Deal" Or "Deal" <> "Meal" = False + True = True
В ячейке слво «Excel«:
"Excel" <> "Deal" Or "Excel" <> "Meal" = True + True = True
В этом случае нужно применять оператор And (И).
===========================
Просматриваем строки с 3 по 25. Если в ячейке столбца С значение не равно указанным, очищаем ячейку. Вместо And — каскад If, позволяющий отрезать лишние вычисления.
Sub DelVal1()
Dim i As Long
For i = 3 To 25' цикл по строкам
If Cells(i, 3).Value <> "Deal" Then
If Cells(i, 3).Value <> "Meal" Then
If Cells(i, 3).Value <> "Run" Then Cells(i, 3).ClearContents
End If
End If
Next i
End Sub
Значение ячейки можно искать в тексте, составленном из искомых слов:
Sub DelVal2()
Dim i As Long
For i = 3 To 25
If Not ("DealMealRun" Like "*" & Cells(i, 3).Value & "*") Then _
Cells(i, 3).ClearContents
Next i
End Sub
Если слов много, имеет смысл занести их в массив:
Sub DelVal3()
Dim ArrVal()
Dim i As Long, j As Long
ArrVal = Array("Deal", "Meal", "Run") ' значения в массив
For i = 3 To 25 ' цикл по строкам
For j = 0 To UBound(ArrVal) ' цикл по массиву
If Cells(i, 3).Value = ArrVal(j) Then Exit For
Next j
' ни одно не найдено - очищаем ячейку
If j = UBound(ArrVal) + 1 Then Cells(i, 3).ClearContents
Next i
End Sub
- Введение в Excel VBA Очистить содержание
Введение в Excel VBA Очистить содержание
Работая в Excel, мы сталкиваемся с моментом, когда нам нужно удалить данные, уже присутствующие в ячейке или в диапазоне ячеек, для выполнения другой функции или любой другой команды. Это делается вручную, если мы работаем на рабочем листе. Но если мы работаем в VBA, мы используем метод очистки содержимого для очистки данных или значений, присутствующих в ячейках.
Очистить содержимое — это функция диапазона в Excel, которая используется для очистки содержимого в заданном диапазоне ячеек или группе ячеек. Очистка данных и очистка ячеек — это разные вещи, которые мы должны помнить. С четким содержимым мы очищаем только данные, представленные в ячейке. Чистое содержимое не влияет на форматирование или условное форматирование ячеек. Это делается с помощью другой функции.
Чтобы очистить содержимое, нам нужно выбрать диапазон ячеек, которые мы хотим очистить, и как только мы определили ячейки, мы можем использовать метод очистки содержимого, чтобы очистить данные, представленные в листе Excel. Синтаксис для использования метода чистого содержимого в VBA выглядит следующим образом:
Range («Диапазон ячеек»). ClearContents
В диапазоне ячеек мы предоставляем диапазон ячеек, который мы хотим очистить.
Давайте использовать эту функцию в нескольких примерах, которые сделают ее более понятной для нас. Для демонстрации у меня есть данные в разных листах.
Примечание. Чтобы использовать VBA в Excel, убедитесь, что у нас включена вкладка разработчика на вкладке «Файлы» в разделе параметров.
Примеры Excel VBA Очистить содержимое
Ниже приведены несколько практических примеров содержания VBA Clear в Excel.
Вы можете скачать этот шаблон Excel VBA Clear Contents здесь — Шаблон VBA Clear Contents Excel
Excel VBA Clear Contents — Пример № 1
На листе 1 у меня есть некоторые данные в ячейке A1. Посмотрите на это ниже.
Мы будем использовать метод очистки содержимого для очистки данных из ячейки A1. Выполните следующие шаги, чтобы очистить содержимое ячейки с помощью кода VBA.
Шаг 1: Перейдите на вкладку разработчика и нажмите на Visual Basic, чтобы открыть VB Editor.
Шаг 2: Он откроет VB Editor для нас. Нажмите на вкладку Вставить, чтобы вставить новый модуль.
Шаг 3: Запустите код VBA подфункцией.
Код:
Sub Sample () End Sub
Шаг 4: Чтобы использовать любые свойства рабочего листа, нам нужно сначала активировать рабочий лист. Активируйте лист с помощью следующего кода.
Код:
Sub Sample () Worksheets ("Sheet1"). Активировать End Sub
Шаг 5: Теперь используйте функцию Очистить содержимое, чтобы очистить данные в ячейке A1 с помощью следующего кода.
Код:
Sub Sample () Worksheets ("Sheet1"). Активировать диапазон ("A1"). ClearContents End Sub
Шаг 6: Запустите приведенный выше код с помощью кнопки запуска или нажмите F5.
Запустив код, мы можем увидеть результат ячейки A1 на листе 1, что данные пропали.
Excel VBA Очистить содержимое — Пример № 2
В приведенном выше примере мы очистили содержимое одной ячейки, но у нас есть данные в диапазоне ячеек. Будет ли эта функция работать? Мы узнаем то же самое в этом примере. У меня есть данные в листе 2 следующим образом.
Мы будем использовать функцию очистки содержимого для очистки данных в этом диапазоне ячеек. Выполните следующие шаги, чтобы очистить содержимое ячейки с помощью кода VBA.
Шаг 1: В окне кода объявите подфункцию для написания кода.
Код:
Sub Sample1 () End Sub
Шаг 2: Чтобы использовать свойства листа 2, всегда не забывайте активировать лист с помощью следующего кода.
Код:
Sub Sample1 () Worksheets ("Sheet2"). Активировать End Sub
Шаг 3: Мы знаем, что у нас есть данные в диапазоне ячеек A1: C3 на листе 2. Мы будем использовать функцию очистки содержимого, чтобы очистить содержимое этого диапазона ячеек.
Код:
Sub Sample1 () Worksheets ("Sheet2"). Активировать диапазон ("A1: C3"). ClearContents End Sub
Шаг 4: Запустите приведенный выше код с помощью кнопки запуска или нажмите F5, чтобы получить следующий результат.
Мы видим, что данные из диапазона ячеек A1: C3 были очищены.
Excel VBA Очистить содержимое — Пример № 3
Мы обсудили форматирование ранее в статье. Очистить содержимое также очистить форматирование ячеек с содержимым? Мы увидим это в этом примере. Для демонстрации у меня есть данные на листе 3 светло-голубого цвета. Посмотрите на это ниже,
Выполните следующие шаги, чтобы очистить содержимое ячейки с помощью кода VBA.
Шаг 1: Запустите код, объявив подфункцию.
Код:
Sub Sample2 () End Sub
Шаг 2: Мы знаем, что для использования свойств листа 3 мы должны активировать лист с помощью следующего кода.
Код:
Sub Sample2 () Worksheets ("Sheet3"). Активировать End Sub
Шаг 3: Мы знаем, что у нас есть данные в диапазоне ячеек A1: C3 на листе 3. Мы будем использовать функцию очистки содержимого, чтобы очистить содержимое этого диапазона ячеек.
Код:
Sub Sample2 () Рабочие листы ("Sheet3"). Активировать диапазон ("A1: C3"). ClearContents End Sub
Шаг 4: Запустите приведенный выше код с помощью кнопки запуска или нажмите F5, чтобы получить следующий результат.
Мы можем видеть, что данные из диапазона ячеек A1: C3 были очищены, но формат ячеек остается неизменным.
Excel VBA Очистить содержимое — Пример № 4
В этом примере у нас есть некоторые данные на листе 4, данные выделены жирным шрифтом и курсивом. Как только мы очистим содержимое, мы снова поместим некоторые данные в эти ячейки, чтобы увидеть, присутствует ли форматирование или нет. Посмотрите на данные ниже: ячейка A1 выделена жирным шрифтом, а ячейка B1 выделена курсивом.
Выполните следующие шаги, чтобы очистить содержимое ячейки с помощью кода VBA.
Шаг 1: Запустите код, объявив подфункцию.
Код:
Sub Sample3 () End Sub
Шаг 2: Мы знаем, что для использования свойств листа 4 мы должны активировать лист с помощью следующего кода.
Код:
Sub Sample3 () Worksheets ("Sheet4"). Активировать End Sub
Шаг 3: Мы знаем, что у нас есть данные в диапазоне ячеек A1: B1 на листе 4. Мы будем использовать функцию очистки содержимого, чтобы очистить содержимое этого диапазона ячеек.
Код:
Sub Sample3 () Рабочие листы ("Sheet4"). Активировать диапазон ("A1: B1"). ClearContents End Sub
Шаг 4: Запустите приведенный выше код с помощью кнопки запуска или нажмите F5, чтобы получить следующий результат.
Теперь попробуйте снова ввести несколько случайных значений в ячейки A1 и B1, чтобы проверить, не изменилось ли форматирование.
Мы можем видеть, что мы только очистили содержимое, пока форматирование все еще там.
То, что нужно запомнить
- VBA Clear Contents может удалять данные из ячейки или заданного диапазона ячеек.
- Очистить содержимое только удаляет данные из ячеек, это не влияет на форматирование ячеек.
- Даже если данные имеют условное форматирование, чистое содержимое не очищает форматирование ячеек.
Рекомендуемые статьи
Это руководство по VBA Clear Contents. Здесь мы обсуждаем примеры для очистки содержимого ячейки с использованием кода Excel VBA, а также практические примеры и загружаемый шаблон Excel. Вы также можете просмотреть наши другие предлагаемые статьи —
- Примеры использования VBA Enum
- Группировка столбцов в Excel
- Пример удаления столбца VBA
- Конкатенация в Excel






























