|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.05.2011, 16:58 | #1 |
Пользователь
Регистрация: 30.03.2011
Сообщений: 24
|
Как проверить что массив полностью заполнен?
Как проверить что массив полностью заполнен?
|
01.05.2011, 18:01 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
СЧЕТЗ = Ширина_Диапазона*Высота_Диапазона
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
01.05.2011, 21:00 | #3 |
Пользователь
Регистрация: 30.03.2011
Сообщений: 24
|
|
01.05.2011, 21:15 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
if WorksheetFunction.CountBlank([a1:c3]) > 0 then 'есть пустые в диапазоне a1:c3
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
02.05.2011, 11:09 | #5 |
Пользователь
Регистрация: 30.03.2011
Сообщений: 24
|
извиняюсь за неясное объяснение.
кароче.. Dim A(1 to 5) as integer 'заполнение A(i) Если в массиве есть пустые элементы -> MsgBox('Массив не заполнен') p.s. К листу Excel не нужно обращаться |
02.05.2011, 11:23 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
)))
и последнее уточнение перед ответом: "в массиве есть пустые элементы " - пустые это элементы равные 0?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
02.05.2011, 14:14 | #7 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Если объявлять массив как Dim A(1 to 5) as Integer, то все незаполненные элементы такого массива будут нулями. Поэтому, задача сводится к тому, чтобы определить, содержит ли массив хотя бы один 0.
Как ни странно Вам покажется, но самый эффективный способ - это перебрать в цикле все элементы массива, и при определении нуля осуществить выход из цикла. Соответственно, если определять массив As Variant, то в цикле искать нужно пустое значение. Возможны и другие методы, без использования цикла (например, используя Instr(Join(...))), но быстрее это не будет.
Чем шире угол зрения, тем он тупее.
|
02.05.2011, 17:50 | #8 |
Пользователь
Регистрация: 30.03.2011
Сообщений: 24
|
Спасибо IgorGo за терпение (+ не могу поставить - форум не разрешает ) и SAS888 за точное решение.
Просто никак не мог разобраться в том, что находится в "незатронутых" элементах массива. |
02.05.2011, 18:12 | #9 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
что находится в "незатронутых" элементах массива - отлично видно в окне "Locals"
webmoney: E265281470651 Z422237915069 R418926282008
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |