Excel vba отключить условное форматирование

 

IgorBoot

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

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

Добрый день Уважаемые Эксперты.

Прошу у Вас уточнения, возможно ли программным способом отключить Условное Форматирование на листе?
По крайней мере в Excel 2010 есть возможность отключить УФ через удаление правил. Я хотел записать  код через Макрорекодер но на выходе получился пустой макрос.
Подскажите есть ли вообще способ отключения УФ на листе через VBA?

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

Прошу помочь разобраться.

Благодарю Вас

 

отключить — не возможно
можно удалить
но писать их потом в случае необходимости будете снова рукам каждое, отдельно

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

IgorBoot

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

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

Уважаемый

Ігор Гончаренко

, Благодарю Вас за ответ.

Я прошу прощения, я некорректно сформулировал, как удалить?

 

Jack Famous

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

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

OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

IgorBoot, здравствуйте!
Гляньте

тут

и

тут

(со скрина)

Прикрепленные файлы

  • УФ.png (29.64 КБ)

Изменено: Jack Famous11.09.2019 16:04:47

Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

 

RAN

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

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

#5

11.09.2019 16:01:13

Код
Activesheet.Cells.Formatconditions.Delete
 

Ігор Гончаренко

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

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

#6

11.09.2019 16:03:38

используйте этот мощный

Код
Sub Макрос()  
  Cells.FormatConditions.Delete
End Sub

главное — не выполнить его, когда активен лист, на котором нужно оставить условное форматирование

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

IgorBoot

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

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

Огромное спасибо Всем за Ответы.

Уважаемый

Ігор Гончаренко

, Вам отдельное Спасибо за пояснение.

Благодарю Вас всех

Изменено: IgorBoot11.09.2019 16:08:08

 

Вы, несколько преувеличиваете ценность этого макроса и моих подсказок. используйте:
Главная
Условное форматирование
Удалить правила
Удалить правила со всего листа
и получите ровно то же самое, что написано в макросе. Только не нужно помнить где лежит макрос,,а можно воспользоваться меню Excel, которое постоянно под рукой (прямо в Excele)

Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!

 

vikttur

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

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

#9

11.09.2019 22:37:52

По названию темы  — отключить или удалить?

How do I use VBA to toggle conditional formatting on and off?

I have a range C3:AD46. I have two conditional formats.

enter image description here
enter image description here

I want to toggle the first format on/off using a macro. The second format can stay enabled all the time.

Thanks.

asked Aug 18, 2016 at 11:28

posfan12's user avatar

posfan12posfan12

2,4938 gold badges35 silver badges55 bronze badges

3

One method you could use, rather than reproducing the conditional formats via VBA code, would be to use the «Stop If True» feature within the conditional formatting screen.

The idea is that your VBA code could change the value of a single cell and then a new conditional formatting rule would check the cell value. If true the conditional formatting would apply no new formatting changes, instead as the «Stop If True» chechbox would be selected the new rule would simply prevent excel from checking the rules below (i.e. the rule you want to be controlled by your VBA code). This effectively means the hidden cell value acts like a boolean ‘switch’ that controls whether the conditional format rules are run or not.

answered May 7, 2020 at 7:47

wellimustbedead's user avatar

For the first format I was able to piece together the following:

Private Sub CheckBox1_Click()
   Dim rngMyRange As Range

   Set rngMyRange = ActiveWorkbook.Worksheets("tim-vgr_hgn").Range("C3:AO46")  'Set your range here

    If rngMyRange.FormatConditions.Count = 0 Then  'Set Conditional Formats
      With rngMyRange
            .FormatConditions.AddColorScale ColorScaleType:=3

            ' Format the first color as green
            .FormatConditions(1).ColorScaleCriteria(1).Type = xlConditionValueNumber
            .FormatConditions(1).ColorScaleCriteria(1).Value = 0
            .FormatConditions(1).ColorScaleCriteria(1).FormatColor.Color = RGB(0, 255, 0)

            ' Format the second color as yellow
            .FormatConditions(1).ColorScaleCriteria(2).Type = xlConditionValueNumber
            .FormatConditions(1).ColorScaleCriteria(2).Value = 120
            .FormatConditions(1).ColorScaleCriteria(2).FormatColor.Color = RGB(255, 255, 0)

            ' Format the third color as red
            .FormatConditions(1).ColorScaleCriteria(3).Type = xlConditionValueNumber
            .FormatConditions(1).ColorScaleCriteria(3).Value = 7200
            .FormatConditions(1).ColorScaleCriteria(3).FormatColor.Color = RGB(255, 0, 0)

      End With

    Else    'Clear Conditional Formats

      rngMyRange.FormatConditions.Delete

    End If
End Sub

But, how do I recreate the second format?

[edit]

I will start a new question for the second format.

answered Aug 18, 2016 at 12:48

posfan12's user avatar

posfan12posfan12

2,4938 gold badges35 silver badges55 bronze badges

Set WorkRange = Range(«A4:M35»)
i = ActiveCell.Address(0, 0)
MyFormula = «=ИЛИ(И($A$1<>«»выкл»»;ЯЧЕЙКА(«»строка»»)=СТРОКА(» & i & «);ЯЧЕЙКА(«»столбец»»)<>СТОЛБЕЦ(» & i & «));)»

‘если активная ячейка вне рабочего диапазона
If Intersect(Target, WorkRange) Is Nothing Then
Range(«A1») = «выкл»
Else
Range(«A1») = «»
End If

‘если активная ячейка вне рабочего диапазона
If Intersect(Target, WorkRange) Is Nothing Then
Flag = False
Else
Flag = True
End If

Set WorkRange = Range(«A4:M35»)
i = ActiveCell.Address(0, 0)
MyFormula = «=ИЛИ(И($A$1<>«»выкл»»;ЯЧЕЙКА(«»строка»»)=СТРОКА(» & i & «);ЯЧЕЙКА(«»столбец»»)<>СТОЛБЕЦ(» & i & «));)»

‘если активная ячейка вне рабочего диапазона
If Intersect(Target, WorkRange) Is Nothing Then
Range(«A1») = «выкл»
Else
Range(«A1») = «»
End If

‘если активная ячейка вне рабочего диапазона
If Intersect(Target, WorkRange) Is Nothing Then
Flag = False
Else
Flag = True
End If

Set WorkRange = Range(«A4:M35»)
i = ActiveCell.Address(0, 0)
MyFormula = «=ИЛИ(И($A$1<>«»выкл»»;ЯЧЕЙКА(«»строка»»)=СТРОКА(» & i & «);ЯЧЕЙКА(«»столбец»»)<>СТОЛБЕЦ(» & i & «));)»

‘если активная ячейка вне рабочего диапазона
If Intersect(Target, WorkRange) Is Nothing Then
Range(«A1») = «выкл»
Else
Range(«A1») = «»
End If

‘если активная ячейка вне рабочего диапазона
If Intersect(Target, WorkRange) Is Nothing Then
Flag = False
Else
Flag = True
End If

Источник

Ад Условного Форматирования

Порядок необходим глупцам,
гений же властвует над хаосом.
(Альберт Эйнштейн)

Исходные данные

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

Чтобы проще было понять, в чём, собственно, дело — давайте рассмотрим простой пример. Предположим, что мы работаем вот с такой несложной таблицей, где фиксируются продажи:

Для наглядности к таблице добавлены три правила условного форматирования:

Первое правило делает синие гистограммы на столбце с суммами сделок. Создается через Главная — Условное форматирование — Гистограммы (Home — Conditional formatting — Data bars) .

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

Третье — делает нижнюю границу всей строки красной, если день меняется на следующий, т.е. дата в текущей строке не равна дате в следующей.

Второе и третье правила создаются через Главная — Условное форматирование — Создать правило — Использовать формулу для определения форматируемых ячеек (Home — Conditional formatting — Create rule — Use formula to determine which cells to format) с вводом соответствующей формулы (2) и настройкой формата ячеек (3):

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

Путь к катастрофе

Предположим, что в процессе работы с таблицей нам потребовалось удалить любую строку из середины таблицы — ну, скажем, 10-ю. После выполнения безобидного удаления получим следующую картину:

Красная линия между 2 и 3-м марта почему-то исчезла, а наше правило условного форматирования для разделения дат развалилось на два, причем одно из них с ошибкой #ССЫЛКА (т.е. не работает), а другое применяется к двум несмежным диапазонам A2:E8 и A10:E29 (не ко всей таблице!).

Теперь представим, что Кирилл Краснов повторил свою сделку в Тольятти с магазином «Лента» (строка 25) и вам нужно внести эти данные в таблицу.

Как вы поступите?

Скорее всего, как любой нормальный человек, вы скопируете 25-ю строчку и вставите её в конец таблицы, верно?

Ага, и получите в наследство вот такой бардак в правилах условного форматирования:

Excel зачем-то продублировал те же правила для добавленной строки вместо того, чтобы просто растянуть диапазон в поле Применяется к (Applied to) .

Ну, и на десерт давайте попробуем ещё что-нибудь безобидное — например, вставить пустую строку в середину таблицы, между 4 и 5-й строчками:

В списке правил условного форматирования это приведёт к появлению еще одного дубликата и раздроблению диапазона уже существующего 5-го правила на кучу фрагментов:

Продолжать можно долго, но, думаю, вы уже уловили идею или вспомнили, как сталкивались с этой бедой ранее (эта проблема существует в Excel ещё с 2007 года). Выполнение совершенно безобидных и естественных операций с таблицей (вставка и удаление строк, копирование, вырезание и перенос) приводят к:

  • появлению бесчисленных дубликатов одних и тех же правил
  • фрагментации диапазонов применения этих правил
  • появлению неработающих правил с ошибками #ССЫЛКА!

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

На англоязычных Excel-форумах в интернете такую картину называют иногда «адом» или «кошмаром условного форматирования» («Conditional Formatting Nightmare» или «Conditional Formatting Hell»).

Причем весь этот быстро разрастающийся бардак очень скоро начнёт нещадно тормозить. Условное форматирование, само по себе, весьма ресурсоёмкая штука, т.к. Excel пересчитывает правила УФ гораздо чаще, чем те же формулы. А когда этих правил несколько десятков, то даже самый мощный ПК начнёт «тупить».

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

Как же всё исправить?

Способ 1. Вручную

Несмотря на кажущуюся запущенность, лечится весь этот адок достаточно легко. Идея в том, что правила УФ «ломаются», обычно, для строк ниже первой. Первая же строка, в большинстве случаев, остается в порядке. Поэтому, чтобы всё починить, нам нужно просто очистить все правила в таблице и заново распространить их с первой строки на все остальные.

Для этого делаем следующее:

  1. Выделяем в нашей таблице все строки кроме первой.
  2. Удаляем все правила условного форматирования с выделенных ячеек через Главная — Условное форматирование — Удалить правила — Удалить правила из выделенных ячеек (Home — Conditional formatting — Clear rules — Clear rules from selected cells) .
  3. Выделяем первую строку, жмём кнопку-кисточку Формат по образцу на Главной (Home — Format Painter) и выделяем все остальные строки, копируя на них формат с первой.

Способ 2. Макросом

Если есть ощущение, что подобную процедуру вам придётся проделывать ещё не раз, то имеет смысл автоматизировать весь процесс с помощью макроса. Для этого:

  1. Жмём сочетание клавиш Alt + F11 или на вкладке Разработчик кнопку Visual Basic (Developer — Visual Basic) .
  2. В открывшемся окне редактора макросов добавляем в нашу книгу новый модуль через меню Insert — Module.
  3. Вставляем в созданный пустой модуль наш макрос:

Теперь можно будет просто выделить все строки в таблице (кроме шапки) и запустить макрос через Разрабочик — Макросы (Developer — Macros) или сочетанием клавиш Alt + F8 .

И всё будет хорошо 🙂

И не забудьте сохранить файл в формате с поддержкой макросов (xlsm).

Если нужно применять этот макрос в других файлах, то имеет смысл поместить его в Личную Книгу Макросов (Personal Macro Workbook).

Немного улучшенная версия этого макроса уже встроена в последнюю версию моей надстройки PLEX 😉

Источник

Excel макрос отключить условное форматирование

Как быстро убрать условное форматирование в Excel?

Условное форматирование — очень полезный инструмент в Excel, он может легко помочь вам отформатировать и закрасить ячейки в соответствии с определенными условными критериями, но иногда вам может потребоваться удалить или очистить условное форматирование в Excel. Как удалить условное форматирование в Excel?

Kutools for Excel‘s Alternate Row / Column Shading utility helps you easily remove all conditional formatting and background shading at the same time in selected range in Excel.

Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 60 days. Read More Download the free trial now

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

Чтобы удалить условное форматирование выбранного диапазона, сделайте следующее:

1. Выберите диапазон, в котором вы хотите удалить условное форматирование.

2. Нажмите Главная > Условное форматирование > Очистить правила > Очистить правила из выбранных ячеек. Смотрите скриншот:

3. И выбранное условное форматирование было удалено. Смотрите скриншоты:

Чтобы удалить условное форматирование всего рабочего листа, сделайте следующее:

Нажмите Главная > Условное форматирование > Очистить правила > Очистить правила со всего листа, и все условное форматирование рабочего листа будет удалено.

Следующий код VBA также может помочь вам удалить условное форматирование.

1. Нажмите Застройщик >Визуальный Бейсик, Новый Microsoft Visual Basic для приложений появится окно, щелкните Вставить > Модули, и введите в модуль следующий код:

VBA: удалить условное форматирование

2. Затем нажмите или нажмите F5 нажмите клавишу, чтобы запустить код, и появится окно с напоминанием о выборе диапазона, который вы хотите использовать. Смотрите скриншот:

3. Затем нажмите OK кнопку, и все условное форматирование в выбранном диапазоне было удалено.

Компания Kutools for ExcelАвтора Альтернативное затенение строки / столбца Утилита может помочь вам одновременно удалить как условное форматирование, так и затенение фона.

Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.

1. Выберите диапазон с условным форматированием или затенением фона, который вы хотите удалить, затем нажмите Кутулс > Формат > Альтернативное затенение строки / столбца. Смотрите скриншот:

2. В Альтернативное затенение строки / столбца диалоговое окно, просто выберите Удалить существующее затенение альтернативной строки вариант в Метод затенения раздел, а затем щелкните OK кнопка. Смотрите скриншоты:

Затем сразу же удаляется все форматирование условий и цвета ручной заливки.

Если вы хотите получить бесплатную пробную версию ( 30 -день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.

Источник

Adblock
detector

Conditional formatting enables you to format cells according to certain criterias. This is very useful when analyzing and presenting the data. But when we develop some vba programs, sometimes we need to remove existing conditional formatting of whole sheet or specific ranges to avoid it interfere with result. This is needed if our program also format the cells according to some criterias. So in this post let’s learn how to remove conditional formatting programmatically. It is easier than you might think.

Let’s consider this sample data.

Two conditional formatting criterias are applied to this worksheet. First one is applied to range C4:C17 and second one is applied to range D4:D17. Cells are highlighted in yellow color in C4:C17 range if the cell value is greater than 40. And cells are highlighted in light red color in D4:D17 range if the cell values are less than 5000.

Now let’s learn how to remove conditional formatting of whole sheet. We can do it using following code.

Sub RemoveConditionalFormatting()

Dim WS As Worksheet

Set WS = ActiveSheet

WS.Cells.FormatConditions.Delete

End Sub

This will remove conditional formatting from activesheet. So If we run this macro we will get follwing result.

Sometimes you may need to remove conditional formatting from specific area of your sheet. Not from whole sheet. So if we want to remove conditional formatting from certain range we can do it like this.

Sub RemoveConditionalFormattingFromRange()

Dim WS As Worksheet

Set WS = ActiveSheet

WS.Range(«D4:D17»).Cells.FormatConditions.Delete

End Sub

This will remove conditional formatting from only D4:D17 range. You can replace “D4:D17” of above code with the range you want. You will get following result when you run above code.

Also if we need, we can remove conditional formatting from entire column or row as well. Following code will remove conditional formatting from column C.

Sub RemoveConditionalFormattingFromEntireColumn()

Dim WS As Worksheet

Set WS = ActiveSheet

WS.Columns(3).Cells.FormatConditions.Delete

End Sub

Here is the result you will get if you run above code for sample data.

And this next examples shows how to remove conditional formatting from multiple rows.

Sub RemoveConditionalFormattingFromRows()

Dim WS As Worksheet

Set WS = ActiveSheet

WS.Rows(«1:100»).Cells.FormatConditions.Delete

End Sub

This will remove conditional formatting from rows 1 to 100.

Выключить/включить условное форматирование

sashka

Дата: Четверг, 04.11.2021, 19:54 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

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


Здравствуйте
есть формула условного форматирования:
[vba]

Код

i = ActiveCell.Address(0, 0)
MyFormula = «=ИЛИ(И(ЯЧЕЙКА(«»строка»»)=СТРОКА(» & i & «);ЯЧЕЙКА(«»столбец»»)<>СТОЛБЕЦ(» & i & «));И(ЯЧЕЙКА(«»строка»»)<>СТРОКА(» & i & «);ЯЧЕЙКА(«»столбец»»)=СТОЛБЕЦ(» & i & «)))»

[/vba]

и глобальная переменная:
[vba]

Код

Dim Flag As Boolean
Sub Coordinate_Selection_On()
    Flag = True
End Sub
Sub Coordinate_Selection_Off()
    Flag = False
End Sub

[/vba]
Пожалуйста, подскажите, как добавить в формулу Flag = False, чтобы в дальнейшем можно было включать/выключать условное форматирование
Условием, типа If Flag = False Then Cells.FormatConditions.Delete не подходит

Сообщение отредактировал sashkaЧетверг, 04.11.2021, 19:59

 

Ответить

R_Dmitry

Дата: Четверг, 04.11.2021, 20:32 |
Сообщение № 2

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

Ранг: Участник

Сообщений: 74


Репутация:

34

±

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


2010

Вот Вам пример, изучайте


{Skype : RDG_Dmitry} Если программа тебе понятна,значит она уже устарела

 

Ответить

sashka

Дата: Четверг, 04.11.2021, 21:30 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

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


R_Dmitry,
Я не полностью изложил то, чего хочу сделать, сейчас попробую подробней
формулой УФ — делаю подсветку строки и столбца
хочу добиться, чтобы при этом была возможность отмены действий на листе (Ctrl+Z)
условиями If можно добиться необходимого результата, но умрет отмена действий на листе
Например, если в формулу добавить: $A$1<>»»выкл»»;
и соответственно набрать в ячейку а1=выкл
подсветка будет выключаться и включаться
Теперь вопрос, как сделать в формуле УФ типа «»Flag»»=»»False»» чтобы можно было вклвыкл условное форматирование (в этом варианте Ctrl+Z должно работать)
в дальнейшем, если активная ячейка вне рабочего диапазона, можно так
[vba]

Код

If Intersect(Target, WorkRange) Is Nothing Then
    Flag = False
End If

[/vba]
при этом, будет работать Ctrl+Z

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

New2.xlsm
(22.8 Kb)

 

Ответить

R_Dmitry

Дата: Четверг, 04.11.2021, 21:45 |
Сообщение № 4

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

Ранг: Участник

Сообщений: 74


Репутация:

34

±

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


2010

после выполнения кода Вы теряете возможность отмены действия


{Skype : RDG_Dmitry} Если программа тебе понятна,значит она уже устарела

 

Ответить

sashka

Дата: Четверг, 04.11.2021, 21:53 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

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


после выполнения кода Вы теряете возможность отмены действия

R_Dmitry, какого именно кода?

 

Ответить

R_Dmitry

Дата: Четверг, 04.11.2021, 21:55 |
Сообщение № 6

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

Ранг: Участник

Сообщений: 74


Репутация:

34

±

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


2010

VBA
Который вносит изменения данных в файле


{Skype : RDG_Dmitry} Если программа тебе понятна,значит она уже устарела

Сообщение отредактировал R_DmitryЧетверг, 04.11.2021, 21:59

 

Ответить

sashka

Дата: Четверг, 04.11.2021, 22:13 |
Сообщение № 7

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

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


вот, например, так Ctrl+Z умерла, потому что в файле появились изменения данных добавленные макросом (в А1 добавился текст ‘выкл’)
[vba]

Код

Set WorkRange = Range(«A4:M35»)
i = ActiveCell.Address(0, 0)
MyFormula = «=ИЛИ(И($A$1<>»»выкл»»;ЯЧЕЙКА(«»строка»»)=СТРОКА(» & i & «);ЯЧЕЙКА(«»столбец»»)<>СТОЛБЕЦ(» & i & «));)»

‘если активная ячейка вне рабочего диапазона
If Intersect(Target, WorkRange) Is Nothing Then
    Range(«A1») = «выкл»
Else
    Range(«A1») = «»
End If

[/vba]
а так, если удастся внедрить в формулу УФ Flag = False
Ctrl+Z должно работать, так как никаких изменений данных в файле не произошло
[vba]

Код

MyFormula = «=ИЛИ(И(«»Flag»»=»»False»»;… …

‘если активная ячейка вне рабочего диапазона
If Intersect(Target, WorkRange) Is Nothing Then
    Flag = False
Else
    Flag = True
End If

[/vba]

Сообщение отредактировал sashkaПятница, 05.11.2021, 07:59

 

Ответить

R_Dmitry

Дата: Четверг, 04.11.2021, 23:07 |
Сообщение № 8

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

Ранг: Участник

Сообщений: 74


Репутация:

34

±

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


2010

Удачи


{Skype : RDG_Dmitry} Если программа тебе понятна,значит она уже устарела

 

Ответить

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