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)


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

Sub Clear_Cell()
Dim r As Range, ur As Range
Set ur = Cells(1, 1) ‘ очищаемую ячейку — в формируемый диапазон ‘

For Each c In ActiveSheet.UsedRange.Cells
If Not c.Locked Then
If c.MergeCells Then
c.MergeArea.ClearContents
Else
c.ClearContents
End If
End If
Next c

Set ur = Nothing ‘ освобождаем память ‘
End Sub

Sub Clear_Cell()
Dim r As Range, ur As Range
Set ur = Cells(1, 1) ‘ очищаемую ячейку — в формируемый диапазон ‘

For Each c In ActiveSheet.UsedRange.Cells
If Not c.Locked Then
If c.MergeCells Then
c.MergeArea.ClearContents
Else
c.ClearContents
End If
End If
Next c

Set ur = Nothing ‘ освобождаем память ‘
End Sub

Sub Clear_Cell()
Dim r As Range, ur As Range
Set ur = Cells(1, 1) ‘ очищаемую ячейку — в формируемый диапазон ‘

For Each c In ActiveSheet.UsedRange.Cells
If Not c.Locked Then
If c.MergeCells Then
c.MergeArea.ClearContents
Else
c.ClearContents
End If
End If
Next c

Set ur = Nothing ‘ освобождаем память ‘
End Sub

Источник

Как очистить ячейки в Excel? Выборочная очистка ячеек от содержимого

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

Ранее рассматривались вопросы о том, как полностью удалить ячейки вместе со всей информацией, содержащейся в них и о том, как удалить значения из ячеек с определенными параметрами. В этой статье решим задачу очистки ячеек как от значений, так и от специальных форматов, шрифтов, заливок, рамок, примечаний, гиперссылок и объединения ячеек.

Как очистить ячейки стандартными средствами Excel?

Для очистки ячеек от информации в Excel предусмотрено несколько режимов. Для того, чтобы их увидеть, выделяем диапазон, который будет подвергнут очистке и на вкладке «Главная» в группе кнопок «Редактирование» заходим в меню кнопки «Очистить».

Рассмотрим пункты меню кнопки «Очистить» более детально.

Как очистить все в выделенном диапазоне ячеек?

При выборе первого пункта «Очистить все», из ячеек выделенного диапазона будет удалена абсолютно вся информация.

Как очистить только форматы в выбранном диапазоне ячеек?

При выборе второго пункта «Очистить форматы» из выделенного даипазона будет удалена информация, связанная с форматом, то есть информация о шрифтах, их размерах, цветах, способах начертания и так далее, а точнее говоря, все эти параметры будут приведены к параметрам, используемым по умолчанию.

Как очистить ячейки от содержимого?

При выборе третьего пункта «Очистить содержимое» из выделенного диапазона будет удалена только та часть информации, которую вы можете видеть в строке формул, то есть удалены будут только значения ячеек.

Как очистить ячейки от примечаний?

Выбрав пункт четвертый «Очистить примечания», из выделенного диапазона будут удалены только примечания, вся остальная информация сохранится.

Как очистить ячейки средствами VBA?

Для более гибкой очистки ячеек создана надстройка, позволяющая очистить диапазон по выбранным параметрам. Диалоговое окно этой надстройки можно увидеть на скриншоте ниже. С ее помощью пользователи могут выбрать диапазон для очистки, а также выбрать параметр, либо сочетание параметров, от которых будет очищен выбранный диапазон.

Использование надстройки позволяет:

1. Одним кликом мыши вызывать диалоговое окно макроса прямо из панели инструментов Excel;

2. на выбор пользователя удалять значения ячеек, примечания, гиперссылки, форматы, шрифты, заливки, рамки и объединения ячеек;

3. выбирать по своему усмотрению один из четырех режимов обработки данных (смотри скриншот).

Отличия от стандартной очистки состоят в том, что дополнительно можно производить очистку ячеек от гиперссылок и от объединения ячеек, кроме того, предусмотрена более тонкая очистка по параметрам, связанным с форматированием ячеек. Еще одним отличием является возможность очищать ячейки на всех листах.

Надстройка легко устанавливается и запускается одним нажатием кнопки, выведенной прямо в главное меню Excel.

Источник

Удаление пустых ячеек из диапазона

Постановка задачи

Имеем диапазон ячеек с данными, в котором есть пустые ячейки:

Задача — удалить пустые ячейки, оставив только ячейки с информацией.

Способ 1. Грубо и быстро

  1. Выделяем исходный диапазон
  2. Жмем клавишу F5, далее кнопка Выделить(Special) . В открывшмся окне выбираем Пустые ячейки(Blanks) и жмем ОК.

Выделяются все пустые ячейки в диапазоне.

  • Даем в меню команду на удаление выделенных ячеек: правой кнопкой мыши Удалить ячейки (Delete Cells) со сдвигом вверх.
  • Способ 2. Формула массива

    Для упрощения дадим нашим рабочим диапазонам имена, используя Диспетчер Имен (Name Manager) на вкладке Формулы (Formulas) или — в Excel 2003 и старше — меню Вставка — Имя — Присвоить (Insert — Name — Define)


    Диапазону B3:B10 даем имя ЕстьПустые, диапазону D3:D10 — НетПустых. Диапазоны должны быть строго одного размера, а расположены могут быть где угодно относительно друг друга.

    Теперь выделим первую ячейку второго диапазона (D3) и введем в нее такую страшноватую формулу:

    В английской версии это будет:
    =IF(ROW()-ROW(НетПустых)+1>ROWS(ЕстьПустые)-COUNTBLANK(ЕстьПустые),»»,INDIRECT(ADDRESS(SMALL((IF(ЕстьПустые<>«»,ROW(ЕстьПустые),ROW()+ROWS(ЕстьПустые))),ROW()-ROW(НетПустых)+1),COLUMN(ЕстьПустые),4)))

    Причем ввести ее надо как формулу массива, т.е. после вставки нажать не Enter (как обычно), а Ctrl+Shift+Enter. Теперь формулу можно скопировать вниз, используя автозаполнение (потянуть за черный крестик в правом нижнем углу ячейки) — и мы получим исходный диапазон, но без пустых ячеек:

    Способ 3. Пользовательская функция на VBA

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

    Для этого откройте редактор Visual Basic (ALT+F11), вставьте новый пустой модуль (меню Insert — Module) и скопируйте туда текст этой функции:

    Не забудьте сохранить файл и вернитесь из редактора Visual Basic в Excel. Чтобы использовать эту функцию в нашем примере:

    1. Выделите достаточный диапазон пустых ячеек, например F3:F10.
    2. Идем в меню Вставка — Функция (Insert — Function) или жмем на кнопку Вставить функцию(Insert Function) на вкладке Формулы (Formulas) в новых версиях Excel. В категории Определенные пользователем (User Defined) выберите нашу функцию NoBlanks.
    3. В качестве аргумента функции укажите исходный диапазон с пустотами (B3:B10) и нажмите Ctrl+Shift+Enter, чтобы ввести функцию как формулу массива.

    Источник

    Excel макрос для очистки ячеек

    Я не волшебник. Я только учусь

    nikitan95 Дата: Суббота, 01.09.2012, 17:12 | Сообщение № 3
    light26 Дата: Суббота, 01.09.2012, 17:14 | Сообщение № 4
    nikitan95 Дата: Суббота, 01.09.2012, 17:17 | Сообщение № 5
    light26 Дата: Суббота, 01.09.2012, 17:27 | Сообщение № 6
    nikitan95 Дата: Суббота, 01.09.2012, 17:31 | Сообщение № 7
    light26 Дата: Суббота, 01.09.2012, 17:40 | Сообщение № 8

    Я не волшебник. Я только учусь

    light26 Дата: Суббота, 01.09.2012, 17:50 | Сообщение № 9
    nikitan95 Дата: Суббота, 01.09.2012, 17:51 | Сообщение № 10
    nikitan95 Дата: Суббота, 01.09.2012, 17:53 | Сообщение № 11
    Gustav Дата: Суббота, 01.09.2012, 18:03 | Сообщение № 12

    [/vba]
    Запустите, убедитесь, что выделяются нужные ячейки и жмите Delete.

    Выделение затрагивает только числа (константы) в диапазоне, формулы не трогаются. Когда освоитесь и обретете уверенность, то можно сразу очищать, не выделяя:
    [vba]

    [/vba]
    Причем, последнюю команду можно выполнить в Окне отладке редактора VBA, не создавая отдельного макроса.

    Ну, хотя собственно всё это можно выполнить и вручную!

    [/vba]
    Запустите, убедитесь, что выделяются нужные ячейки и жмите Delete.

    Выделение затрагивает только числа (константы) в диапазоне, формулы не трогаются. Когда освоитесь и обретете уверенность, то можно сразу очищать, не выделяя:
    [vba]

    [/vba]
    Причем, последнюю команду можно выполнить в Окне отладке редактора VBA, не создавая отдельного макроса.

    Ну, хотя собственно всё это можно выполнить и вручную! Gustav

    [/vba]
    Запустите, убедитесь, что выделяются нужные ячейки и жмите Delete.

    Выделение затрагивает только числа (константы) в диапазоне, формулы не трогаются. Когда освоитесь и обретете уверенность, то можно сразу очищать, не выделяя:
    [vba]

    [/vba]
    Причем, последнюю команду можно выполнить в Окне отладке редактора VBA, не создавая отдельного макроса.

    Ну, хотя собственно всё это можно выполнить и вручную! Автор — Gustav
    Дата добавления — 01.09.2012 в 18:03

    nikitan95 Дата: Суббота, 01.09.2012, 18:04 | Сообщение № 13
    Gustav Дата: Суббота, 01.09.2012, 18:12 | Сообщение № 14

    200?’200px’:»+(this.scrollHeight+5)+’px’);»> Range(«E5:BM24»).SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents

    Ну, хотя собственно всё это можно выполнить и вручную!

    Вручную:
    1. Выделяете E5:BM24
    2. Ctrl+G, Выделить
    3. Константы, оставить только флажок «числа», OK
    4. Клавиша Delete

    200?’200px’:»+(this.scrollHeight+5)+’px’);»> Range(«E5:BM24»).SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents

    Ну, хотя собственно всё это можно выполнить и вручную!

    Вручную:
    1. Выделяете E5:BM24
    2. Ctrl+G, Выделить
    3. Константы, оставить только флажок «числа», OK
    4. Клавиша Delete Gustav

    200?’200px’:»+(this.scrollHeight+5)+’px’);»> Range(«E5:BM24»).SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents

    Ну, хотя собственно всё это можно выполнить и вручную!

    Вручную:
    1. Выделяете E5:BM24
    2. Ctrl+G, Выделить
    3. Константы, оставить только флажок «числа», OK
    4. Клавиша Delete Автор — Gustav
    Дата добавления — 01.09.2012 в 18:12

    nikitan95 Дата: Суббота, 01.09.2012, 18:14 | Сообщение № 15
    nikitan95 Дата: Суббота, 01.09.2012, 18:22 | Сообщение № 16
    Gustav Дата: Суббота, 01.09.2012, 18:25 | Сообщение № 17

    На эту тему у меня следующее предложение.

    Когда очистите ячейки (вручную!) алгоритмом моего сообщения №14, сделайте еще раз почти так же, а именно:

    Вручную:
    1. Выделяете E5:BM24
    2. Ctrl+G, Выделить
    3. Пустые ячейки, OK
    4. В строке адреса ячейки (слева от строки ввода) задаете имя типа «ДляОчистки».

    В следующий раз, когда подойдет время чиститься, просто выделите через Ctrl+G диапазон «ДляОчистки» и нажмите Delete.

    На эту тему у меня следующее предложение.

    Когда очистите ячейки (вручную!) алгоритмом моего сообщения №14, сделайте еще раз почти так же, а именно:

    Вручную:
    1. Выделяете E5:BM24
    2. Ctrl+G, Выделить
    3. Пустые ячейки, OK
    4. В строке адреса ячейки (слева от строки ввода) задаете имя типа «ДляОчистки».

    В следующий раз, когда подойдет время чиститься, просто выделите через Ctrl+G диапазон «ДляОчистки» и нажмите Delete. Gustav

    На эту тему у меня следующее предложение.

    Когда очистите ячейки (вручную!) алгоритмом моего сообщения №14, сделайте еще раз почти так же, а именно:

    Вручную:
    1. Выделяете E5:BM24
    2. Ctrl+G, Выделить
    3. Пустые ячейки, OK
    4. В строке адреса ячейки (слева от строки ввода) задаете имя типа «ДляОчистки».

    В следующий раз, когда подойдет время чиститься, просто выделите через Ctrl+G диапазон «ДляОчистки» и нажмите Delete. Автор — Gustav
    Дата добавления — 01.09.2012 в 18:25

    Источник

    Adblock
    detector

    193 / 9 / 1

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

    Сообщений: 309

    1

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

    20.10.2011, 23:24. Показов 50442. Ответов 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

    автоматизация очищения ячеек

    nikitan95

    Дата: Суббота, 01.09.2012, 16:52 |
    Сообщение № 1

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 410


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    2016

    С Праздником Знания всех!
    В прилагаемом примере отчет прихода и расхода материалов и запчастей для автомашин. После перехода на след.месяц приходится вручную очищать поля столбцов Прихода (кол-во и сумма) и Расходов по каждой автомашине (только кол-во). Для этого вручную выделяю данные поля и очищаю их. Машин более ста штук, так что это уже превращается в муку. Попробовал через присвоение имен. Согласитесь. что и это не выход. Вопрос: как посредством встроенных функций Excel выделить соответствующие ячейки для быстрого удаления их содержимых? Заранее благодарствую за постоянную выручку и помощь.

    К сообщению приложен файл:

    8270214.xlsx
    (36.3 Kb)

    Сообщение отредактировал nikitan95Суббота, 01.09.2012, 16:55

     

    Ответить

    light26

    Дата: Суббота, 01.09.2012, 17:10 |
    Сообщение № 2

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 1341


    Репутация:

    91

    ±

    Замечаний:
    0% ±


    2007, 2010, 2013

    макрос устроит? и какой диапазон очистить надо?


    Я не волшебник. Я только учусь

    Сообщение отредактировал light26Суббота, 01.09.2012, 17:13

     

    Ответить

    nikitan95

    Дата: Суббота, 01.09.2012, 17:12 |
    Сообщение № 3

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 410


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    2016

    Quote (light26)

    макрос устроит?

    только как крайняя мера(

     

    Ответить

    light26

    Дата: Суббота, 01.09.2012, 17:14 |
    Сообщение № 4

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 1341


    Репутация:

    91

    ±

    Замечаний:
    0% ±


    2007, 2010, 2013

    Quote (nikitan95)

    только как крайняя мера(

    Ну, насколько я знаю, формулы очищать содержимое ячеек не умеют


    Я не волшебник. Я только учусь

     

    Ответить

    nikitan95

    Дата: Суббота, 01.09.2012, 17:17 |
    Сообщение № 5

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 410


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    2016

    а встроенными функциями Excel никак?

     

    Ответить

    light26

    Дата: Суббота, 01.09.2012, 17:27 |
    Сообщение № 6

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 1341


    Репутация:

    91

    ±

    Замечаний:
    0% ±


    2007, 2010, 2013

    Quote (nikitan95)

    а встроенными функциями Excel никак?

    Ждите остальных. может че подскажут. но сомневаюсь я.


    Я не волшебник. Я только учусь

     

    Ответить

    nikitan95

    Дата: Суббота, 01.09.2012, 17:31 |
    Сообщение № 7

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 410


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    2016

    Quote (light26)

    но сомневаюсь я.

    я тоже.. хорошо, если Вас не затруднить, давайте Вашим макросом.. просто я с ними не в ладах, поэтому если потом завалю Вас азбучными вопросами надеюсь на Ваше снисхождение..

     

    Ответить

    light26

    Дата: Суббота, 01.09.2012, 17:40 |
    Сообщение № 8

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 1341


    Репутация:

    91

    ±

    Замечаний:
    0% ±


    2007, 2010, 2013

    Просто жмем кнопку «Новый месяц»
    Перед этим надо включить макросы в настройках безопасности

    К сообщению приложен файл:

    1526409.xlsm
    (42.6 Kb)


    Я не волшебник. Я только учусь

    Сообщение отредактировал light26Суббота, 01.09.2012, 17:42

     

    Ответить

    light26

    Дата: Суббота, 01.09.2012, 17:50 |
    Сообщение № 9

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 1341


    Репутация:

    91

    ±

    Замечаний:
    0% ±


    2007, 2010, 2013

    Если диапазон нужно изменить, то топаем мышом по имени листа, выбираем «Исходный текст» и указываем диапазон по аналогии


    Я не волшебник. Я только учусь

     

    Ответить

    nikitan95

    Дата: Суббота, 01.09.2012, 17:51 |
    Сообщение № 10

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 410


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    2016

    не работает однако. скорее Вы поспешно прочли условие. загляните в Формулы-Диспетчер имен-перем_. именно этот диапазон надо очистить. впрочем это лишь малая часть диапазона..

     

    Ответить

    nikitan95

    Дата: Суббота, 01.09.2012, 17:53 |
    Сообщение № 11

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 410


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    2016

    Quote (light26)

    Если диапазон нужно изменить, то топаем мышом по имени листа, выбираем «Исходный текст» и указываем диапазон по аналогии

    с таким же успехом можно было желаемому диапазону присвоить имя в Диспетчере имен и потом выбрав его очистить его содержимое… и притом без макросов

    Сообщение отредактировал nikitan95Суббота, 01.09.2012, 17:54

     

    Ответить

    Gustav

    Дата: Суббота, 01.09.2012, 18:03 |
    Сообщение № 12

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 2398


    Репутация:

    985

    ±

    Замечаний:
    0% ±


    начинал с Excel 4.0, видел 2.1

    Вот таким макросом можно выделить подлежащие очистке ячейки:
    [vba]

    Code

    Sub selectBeforeClear()
           Range(«E5:BM24»).SpecialCells(xlCellTypeConstants, xlNumbers).Select
    End Sub

    [/vba]
    Запустите, убедитесь, что выделяются нужные ячейки и жмите Delete.

    Выделение затрагивает только числа (константы) в диапазоне, формулы не трогаются. Когда освоитесь и обретете уверенность, то можно сразу очищать, не выделяя:
    [vba]

    Code

    Range(«E5:BM24»).SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents

    [/vba]
    Причем, последнюю команду можно выполнить в Окне отладке редактора VBA, не создавая отдельного макроса.

    Ну, хотя собственно всё это можно выполнить и вручную! smile


    МОИ: Ник, Tip box: 41001663842605

    Сообщение отредактировал GustavСуббота, 01.09.2012, 18:08

     

    Ответить

    nikitan95

    Дата: Суббота, 01.09.2012, 18:04 |
    Сообщение № 13

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 410


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    2016

    можно ли в Диспетчере имен при присвоении имени использовать функцию ИНДЕКС или наподобие того? думаю, что можно, но вот как? может знатоки помогут..

     

    Ответить

    Gustav

    Дата: Суббота, 01.09.2012, 18:12 |
    Сообщение № 14

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 2398


    Репутация:

    985

    ±

    Замечаний:
    0% ±


    начинал с Excel 4.0, видел 2.1

    Quote (Gustav)

    Range(«E5:BM24»).SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents

    Ну, хотя собственно всё это можно выполнить и вручную!

    Вручную:
    1. Выделяете E5:BM24
    2. Ctrl+G, Выделить
    3. Константы, оставить только флажок «числа», OK
    4. Клавиша Delete


    МОИ: Ник, Tip box: 41001663842605

    Сообщение отредактировал GustavСуббота, 01.09.2012, 18:15

     

    Ответить

    nikitan95

    Дата: Суббота, 01.09.2012, 18:14 |
    Сообщение № 15

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 410


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    2016

    Спасибо, Gustav,
    Работает на ура. Поправил чуток диапазон и будто не было никаких проблем и в помине. Макрос конечно удивительная вещица, но все-таки предыдущий мой пост (сообщение № 13) еще в силе)) Да здравствует День Знания с excelworld.ru

     

    Ответить

    nikitan95

    Дата: Суббота, 01.09.2012, 18:22 |
    Сообщение № 16

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 410


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    2016

    Урррррррррррррааааа! Бесподобно!!! Наконец-то День Знания прошло не зря!
    Спасибо, Gustav!

     

    Ответить

    Gustav

    Дата: Суббота, 01.09.2012, 18:25 |
    Сообщение № 17

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 2398


    Репутация:

    985

    ±

    Замечаний:
    0% ±


    начинал с Excel 4.0, видел 2.1

    Quote (nikitan95)

    но все-таки предыдущий мой пост (сообщение № 13) еще в силе

    На эту тему у меня следующее предложение.

    Когда очистите ячейки (вручную!) алгоритмом моего сообщения №14, сделайте еще раз почти так же, а именно:

    Вручную:
    1. Выделяете E5:BM24
    2. Ctrl+G, Выделить
    3. Пустые ячейки, OK
    4. В строке адреса ячейки (слева от строки ввода) задаете имя типа «ДляОчистки».

    В следующий раз, когда подойдет время чиститься, просто выделите через Ctrl+G диапазон «ДляОчистки» и нажмите Delete.


    МОИ: Ник, Tip box: 41001663842605

     

    Ответить

    nikitan95

    Дата: Суббота, 01.09.2012, 18:36 |
    Сообщение № 18

    Группа: Проверенные

    Ранг: Обитатель

    Сообщений: 410


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    2016

    думаю меня не расстреляют в такой день, если я добавлю Gustav-у счастливое 88-ое число.. лично я считаю его вполне заслуженным. Спасибо, за ценный урок!

    Сообщение отредактировал nikitan95Суббота, 01.09.2012, 18:37

     

    Ответить

    light26

    Дата: Суббота, 01.09.2012, 19:34 |
    Сообщение № 19

    Группа: Друзья

    Ранг: Старожил

    Сообщений: 1341


    Репутация:

    91

    ±

    Замечаний:
    0% ±


    2007, 2010, 2013

    Quote (nikitan95)

    не работает однако

    Не знаю причины.


    Я не волшебник. Я только учусь

     

    Ответить

    Hugo

    Дата: Суббота, 01.09.2012, 20:27 |
    Сообщение № 20

    Группа: Друзья

    Ранг: Участник клуба

    Сообщений: 3140


    Репутация:

    670

    ±

    Замечаний:
    0% ±


    2010, теперь уже с PQ

    Может быть я что-то не понял — но что мешает просто иметь один такой чистый шаблон под именем например «шаблон.xls».
    Открываете его, заносите первое число, сохраняете как «201209.xls»
    Через месяц снова открываете шаблон и т.д.
    Ничего очищать не нужно, все данные за все года сохраняются.


    excel@nxt.ru
    webmoney: R418926282008 Z422237915069

     

    Ответить

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