Excel vba удалить значения в ячейках

Метод 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()  
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

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

Сообщений: 23249
Регистрация: 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 — каморка  
клозет — устар. помещение для отправления естественных надобностей

 

Юрий М

Модератор

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

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

#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. Нажмите Вставить > Формы > Прямоугольники , чтобы выбрать форму прямоугольника, а затем перетащите мышь, чтобы нарисовать кнопку прямоугольника в любом месте листа, как вам нужно, см. снимок экрана:

кнопка 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)


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

Неправильный синтаксис проверки. Правильно:

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. Вы также можете просмотреть наши другие предлагаемые статьи —

  1. Примеры использования VBA Enum
  2. Группировка столбцов в Excel
  3. Пример удаления столбца VBA
  4. Конкатенация в Excel

Понравилась статья? Поделить с друзьями:
  • Excel vba удалить дубликаты в столбце
  • Excel vba удалить диапазон столбцов
  • Excel vba удалить все картинки с листа
  • Excel vba удалить все имена
  • Excel vba удалить буквы