Може ли да се използва For Each - Next оператор за таблици съдържащи числа и текст

Microsoft Excel Електронни таблици Microsoft 365 Excel VBA Програмиране VBA за Excel

Здравейте,

На първото изображение е таблицата върху която искам да изпълня процедурата с For Each оператора (тази от предишните уроци). На второто изображение е процедурата, която съм написала. Ако задам като Range цялата таблица, при изпълнението на условието if rng_cell.Value >= 5000 then rng_cell.Interior.ColorIndex = 11, се оцветяват и клетките, които съдържат текст. Може ли в процедурата да се включи условие, че ако формата на клетката е текст, тя да бъде пропусната?

Благодаря предварително!

Забравих да кажа, че ако условието е < 5000, тогава не се оцветява текста.

Правилно се насочвате за още една проверка, за да се оцветяват само числа. Например: If IsNumber(rng_cell.Value) And rng_cell.Value > 5000 Then ....(следва инструкцията). IsNumber проверява дали стойността в клетката е число Ако е число ще върне True, aко не е число ще върне False. Текстът в клетката за компилатора означава стойност > 5000 и затова оцветява и клетки с текст. Ето защо трябва да се допълни, да се прецизира условието с още една проверка (за Вашия пример) да оцветява само числа. Друго решение е дефинирате обекта Range, който ще оцветявате, така че да включва само числа. Надявам се идеите да Ви помогнат.

Много благодаря за отговора! :) Ще го изпробвам веднага :)

Здравейте,

Ако използвам функция IsNumber:

If IsNumber(rng_cell) And rng_cell.Value >= 5000 Then rng_cell.Interior.ColorIndex = 11

Излиза съобщение за грешка:

Compile error: Sub or Function not defined

А ако използвам фунцкия IsNumeric:

If IsNumeric(rng_cell) And rng_cell.Value >= 5000 Then rng_cell.Interior.ColorIndex = 11

Инструкцията работи без грешка. Само че все още не знам каква е разликата между двете функции и коя кога трябва да се използва.

Грешката е моя. Във VBA функцията е IsNumeric, а в Excel - IsNumber, но екселската функция не е валидна във VBA и затова в кода излиза съобщение за грешка.

Благодаря Ви, за разяснението, г-жо Вълкова. :-)

Здравейте, в тази процедура бих искала да се оцветят само цифрите (без процента), като предварително съм ги форматирала. Какъв код трябва да се изпозва?


Вашият отговор

Научи компютърните програми онлайн от топ експертите на България
Регистрацията в АУЛА ви дава:
  • 20 безплатни урока
  • Трикове и тънкости за софтуера
  • Отговори на вашите въпроси
  • Регистрация