Vba excel очистить ячейку

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

Для этого, однако, я получаю сообщение об ошибке в первом разделе .Cells, почему это?

vba excel-vba excel

8 ответов

22 Решение Sam [2013-10-25 18:38:00]

Вы можете получить доступ ко всему столбцу в диапазоне, используя объект Worksheet.Columns

должен очистить содержимое столбца A

Существует также объект Worksheet.Rows , если вам нужно сделать что-то подобное для строк

Ошибка, которую вы получаете, вероятно, связана с отсутствием блока.

О блогах можно прочитать здесь: Справка Microsoft

Как отметил Гэри Студент, вам нужно будет удалить точку до Cells , чтобы заставить код работать так, как вы его первоначально писали. Я не могу быть уверен, поскольку вы включили только одну строку кода, но ошибка, которую вы получили, когда вы удалили точки, может иметь какое-то отношение к тому, как вы определили свои переменные.

Я запустил вашу строку кода с переменными, определенными как целые, и он работал:

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

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

В противном случае вам нужно объявить диапазон для каждого действия или свойства, например:

Читайте также:  Delphi разница между датами

Надеюсь, это даст вам представление о том, почему Гэри Стьюден считал, что компилятор может ожидать With (хотя это было неуместно) и как и когда With может быть полезен в вашем коде.

Метод 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 возвращают очищаемые свойства ячеек к значениям по умолчанию. К таким, как на вновь созданном стандартном рабочем листе. При любых методах очистки высота строк и ширина столбцов не изменяются.

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

Чтобы сделать это, тем не менее я получаю сообщение об ошибке в первой секции .Cells, почему это?

Вам нужно С заявлением перед этим. Или сделать .Cells в клетки

Читайте также:  Seagate cheetah 15k 7 st3300657ss

Вы можете получить доступ к всему столбцу как диапазон использования Worksheet.Columns объекта

следует очистить содержимое столбца

Существует также Worksheet.Rows объект , если вам нужно сделать что — то подобное для строк

Ошибка, которую вы получаете, вероятно, из-за отсутствующим с блоком.

Вы можете прочитать с блоками здесь: Microsoft Help

Как уже упоминалось студент Гэри, вам нужно будет удалить точку перед , Cells чтобы сделать код работы , как вы изначально написали. Я не могу быть уверен, так как вы включили только одну строку кода, но ошибка , которую вы получили , когда вы удалили точки , возможно , что — то делать с тем, как вы определили ваши переменные.

Я побежал вашу строку кода с переменными, определенными как целые числа, и она работала:

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

With заявления призваны избавить вас от перепечатывания код и сделать ваше кодирование легче читать. Это становится полезным и целесообразным , если вы делаете больше чем одну вещь с объектом. Например, если вы хотите , чтобы также включить колонки красными и добавить густую черную рамку, вы можете использовать With подобное заявление:

В противном случае вы должны объявить диапазон для каждого действия или свойства, как это:

Я надеюсь , что это дает вам ощущение того , почему студент Гари считал , что компилятор может быть ожидал With (хотя это было неуместно) и , как и когда With может быть полезным в вашем коде.

Rate this post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *