Може ли да се използва For Each - Next оператор за таблици съдържащи числа и текст
Здравейте,
На първото изображение е таблицата върху която искам да изпълня процедурата с 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 и затова в кода излиза съобщение за грешка.
Благодаря Ви, за разяснението, г-жо Вълкова. :-)
Здравейте, в тази процедура бих искала да се оцветят само цифрите (без процента), като предварително съм ги форматирала. Какъв код трябва да се изпозва?