Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2010, 13:22   #1
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию RowsCount

Подскажите, как в переменную а записать количество значений из диапазона А1:А20?

a = range(cells(1,1),cells(1,20)).count - записывает количество строк, а не значений в них.

Спасибо.
ruavia3 вне форума Ответить с цитированием
Старый 18.06.2010, 13:56   #2
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Например,
a = Range(Cells(1, 1), Cells(1, 20)).SpecialCells(xlCellTypeConstan ts).Count
nilem вне форума Ответить с цитированием
Старый 19.06.2010, 07:28   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

1. Не Range(Cells(1, 1), Cells(1, 20)), а Range(Cells(1, 1), Cells(20, 1))
2. Если значение в контролируемом диапазоне есть результат возвращаемый какой-либо функцией (формулой), то результат будет не верный.
3. Если контролируемый диапазон пуст, то вообще будет ошибка.

Поэтому, лучше сделать так:
Код:
a = Application.CountA([A1:A20])
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц