Може ли да се използва 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 и затова в кода излиза съобщение за грешка.

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

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


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

Запиши се в Аула

или
Вашият имейл е защитен при нас.
Ние никога няма да го разкрием на трети лица.