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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2011, 16:58   #1
ofenod
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 24
По умолчанию Как проверить что массив полностью заполнен?

Как проверить что массив полностью заполнен?
ofenod вне форума Ответить с цитированием
Старый 01.05.2011, 18:01   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

СЧЕТЗ = Ширина_Диапазона*Высота_Диапазона
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 01.05.2011, 21:00   #3
ofenod
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 24
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
СЧЕТЗ = Ширина_Диапазона*Высота_Диапазона
не в Excel, а в VBA...
ofenod вне форума Ответить с цитированием
Старый 01.05.2011, 21:15   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

if WorksheetFunction.CountBlank([a1:c3]) > 0 then 'есть пустые в диапазоне a1:c3
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.05.2011, 11:09   #5
ofenod
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 24
По умолчанию

извиняюсь за неясное объяснение.
кароче..

Dim A(1 to 5) as integer
'заполнение A(i)
Если в массиве есть пустые элементы -> MsgBox('Массив не заполнен')

p.s. К листу Excel не нужно обращаться
ofenod вне форума Ответить с цитированием
Старый 02.05.2011, 11:23   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

)))
и последнее уточнение перед ответом: "в массиве есть пустые элементы " - пустые это элементы равные 0?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.05.2011, 14:14   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Если объявлять массив как Dim A(1 to 5) as Integer, то все незаполненные элементы такого массива будут нулями. Поэтому, задача сводится к тому, чтобы определить, содержит ли массив хотя бы один 0.
Как ни странно Вам покажется, но самый эффективный способ - это перебрать в цикле все элементы массива, и при определении нуля осуществить выход из цикла.
Соответственно, если определять массив As Variant, то в цикле искать нужно пустое значение.
Возможны и другие методы, без использования цикла (например, используя Instr(Join(...))), но быстрее это не будет.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 02.05.2011, 17:50   #8
ofenod
Пользователь
 
Регистрация: 30.03.2011
Сообщений: 24
По умолчанию

Спасибо IgorGo за терпение (+ не могу поставить - форум не разрешает ) и SAS888 за точное решение.
Просто никак не мог разобраться в том, что находится в "незатронутых" элементах массива.
ofenod вне форума Ответить с цитированием
Старый 02.05.2011, 18:12   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

что находится в "незатронутых" элементах массива - отлично видно в окне "Locals"
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WebBrowser как узнать что страница полностью догрузилась Comer_Jus Работа с сетью в Delphi 6 01.07.2011 09:46
Как проверить что локальный сервер работает Kreadlling PHP 4 02.05.2011 20:53
Проверить заполнен ли subitems bulldog5293 Общие вопросы Delphi 1 24.12.2010 23:10
Как проверить что windows запущена в защищенном режиме vitol Win Api 8 21.05.2010 12:02
TEdit, как проверить что введено(число или текст). kReid Общие вопросы Delphi 4 26.02.2010 11:46