Как Очистить Определенные Ячейки в Excel Vba • Показать все данные
Vba excel очистить ячейку
Я пытаюсь получить фрагмент кода для очистки данных в некоторых ячейках, используя ссылки столбца. Я использую следующий код:
Для этого, однако, я получаю сообщение об ошибке в первом разделе .Cells, почему это?
8 ответов
Вы можете получить доступ ко всему столбцу в диапазоне, используя объект Worksheet.Columns
Существует также объект Worksheet.Rows , если вам нужно сделать что-то подобное для строк
Ошибка, которую вы получаете, вероятно, связана с отсутствием блока.
Как отметил Гэри Студент, вам нужно будет удалить точку до Cells , чтобы заставить код работать так, как вы его первоначально писали. Я не могу быть уверен, поскольку вы включили только одну строку кода, но ошибка, которую вы получили, когда вы удалили точки, может иметь какое-то отношение к тому, как вы определили свои переменные.
Я запустил вашу строку кода с переменными, определенными как целые, и он работал:
Я не думаю, что инструкция With подходит для строки кода, которую вы поделили, но если вы ее использовали, With будет в начале строки, которая определяет объект, который вы манипулируете, Вот ваш код, переписанный с помощью ненужного оператора With :
With предназначены для того, чтобы избавить вас от повторного набора кода и упростить чтение кода. Это становится полезным и целесообразным, если вы делаете нечто большее с одним объектом. Например, если вы хотите также повернуть красный столбец и добавить толстую черную рамку, вы можете использовать оператор With следующим образом:
В противном случае вам нужно объявить диапазон для каждого действия или свойства, например:
Надеюсь, это даст вам представление о том, почему Гэри Стьюден считал, что компилятор может ожидать With (хотя это было неуместно) и как и когда With может быть полезен в вашем коде.
Метод Range.Clear для полной очистки диапазона из кода VBA Excel. Методы очистки отдельных свойств и их групп в ячейках. Примеры использования.
Методы очистки ячеек
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 возвращают очищаемые свойства ячеек к значениям по умолчанию. К таким, как на вновь созданном стандартном рабочем листе. При любых методах очистки высота строк и ширина столбцов не изменяются.
Я пытаюсь получить кусок кода, чтобы очистить данные в некоторых ячейках, используя ссылку столбцов. Я использую следующий код:
Чтобы сделать это, тем не менее я получаю сообщение об ошибке в первой секции .Cells, почему это?
Вам нужно С заявлением перед этим. Или сделать .Cells в клетки
Вы можете получить доступ к всему столбцу как диапазон использования Worksheet.Columns объекта
Существует также Worksheet.Rows объект , если вам нужно сделать что — то подобное для строк
Ошибка, которую вы получаете, вероятно, из-за отсутствующим с блоком.
Вы можете прочитать с блоками здесь: Microsoft Help
Как уже упоминалось студент Гэри, вам нужно будет удалить точку перед , Cells чтобы сделать код работы , как вы изначально написали. Я не могу быть уверен, так как вы включили только одну строку кода, но ошибка , которую вы получили , когда вы удалили точки , возможно , что — то делать с тем, как вы определили ваши переменные.
Я побежал вашу строку кода с переменными, определенными как целые числа, и она работала:
Я не думаю, что With заявление подходит к строке кода вы поделились, но если бы вы использовали один, то With будет в начале строки , которая определяет объект , который вы манипулируете. Вот ваш код переписан используя ненужное With заявление:
With заявления призваны избавить вас от перепечатывания код и сделать ваше кодирование легче читать. Это становится полезным и целесообразным , если вы делаете больше чем одну вещь с объектом. Например, если вы хотите , чтобы также включить колонки красными и добавить густую черную рамку, вы можете использовать With подобное заявление:
В противном случае вы должны объявить диапазон для каждого действия или свойства, как это:
Я надеюсь , что это дает вам ощущение того , почему студент Гари считал , что компилятор может быть ожидал With (хотя это было неуместно) и , как и когда With может быть полезным в вашем коде.

Как правильно и быстро очистить ячейки в Excel? Excel works!
- 1) данные, то есть формула, возможно, приводящая к пустому значению;
- 2) значение, т.е. Непустая формула или константа;
- 3) форматирование;
- 4) условное форматирование;
- 5) форма (включая комментарий), перекрывающая ячейку;
- 6) участие в таблице (объект списка).
Сообщение Artemk25, посмотрите вот эту тему http://www.excelworld.ru/forum/10-35895-1
там 3 макроса – один по ссылке и два прямо в теме. Они, правда, не удаляют скопированные строки из первоначальной таблицы, но это уже совсем мелочи.

Автофильтр Excel VBA: полное руководство с примерами
- Очистите фильтр.
- Создайте временный столбец, называемый «TEMP ORDER».
- Установите для каждого значения в этом столбце значение 0
- Обратный фильтр (фильтр для всего, что вы хотите удалить)
- Устанавливает каждое значение в столбце «TEMP ORDER» равным 1 в отфильтрованных результатах
- Очистите фильтр.
- Отсортируйте данные по столбцу «TEMP ORDER», от самого маленького до самого большого.
- Найти, в какой строке встречается первая ‘1’
- Измените размер таблицы (вкладка «Дизайн»), имея последнюю строку, перед строкой «1»
- Удалите строки, которые больше не находятся в вашей таблице.
Сообщение Artemk25, посмотрите вот эту тему http://www.excelworld.ru/forum/10-35895-1
там 3 макроса – один по ссылке и два прямо в теме. Они, правда, не удаляют скопированные строки из первоначальной таблицы, но это уже совсем мелочи.

Заключение
Я бы добавил к ответу, заданному Siddarth Rout, чтобы сказать, что вызов CountA можно пропустить, если Find вернет объект Range, а не номер строки, а затем проверит возвращаемый объект Range, чтобы увидеть, что это Nothing ( пустой лист).




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