![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 31.12.2010
Сообщений: 113
|
![]()
Подскажите, пожалуйста, в чем тут ошибка. должны выводиться все значения по порядку, расположенные в ячейках с 1 по 15.
Sub task() Dim a(15) Dim i Do While i > 0 And i < 16 a(i) = Worksheets(1).Cells(i, 1) MsgBox a(i) Loop MsgBox a(i) End Sub |
![]() |
![]() |
![]() |
#2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
i равно 0. это и есть ошибка нет нулевого ряда на листе
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 31.12.2010
Сообщений: 113
|
![]()
подскажите, пожалуйста. как изменить скрипт, чтобы устранить ошибку
|
![]() |
![]() |
![]() |
#4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
Sub task()
Dim a(15) Dim i for i = 0 to 16 a(i) = Worksheets(1).Cells(i+1, 1) next i End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 31.12.2010
Сообщений: 113
|
![]()
да, с использованием for у меня получалось тоже. а do while, do until в случае с массивами применять нельзя?
|
![]() |
![]() |
![]() |
#6 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]() Цитата:
и for... и do... используются для реализации циклов при использовании for... предполагается что известны начальное и конечное значение, из цикла do... выходим по достижению условия, используйте то, что приведет к более короткой записи. Sub task() Dim a(15) Dim i do a(i) = Worksheets(1).Cells(i+1, 1) i=i+1 loop until i=16 End Sub а массиву все равно из какого цикла к нему обратились, лишь бы не за рамки массива
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 23.01.2011 в 01:14. |
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 31.12.2010
Сообщений: 113
|
![]()
спасибо. только вот почему то при выводе значений в msgbox выводятся пустые окна.
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Вполне работает:
Код:
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#9 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
Hugo121,
a(i-1) = Worksheets(1).Cells(i, 1) Olya1985, где "в msgbox выводятся пустые окна"??
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Да, пропустил...
И тогда Do While i < 15
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 23.01.2011 в 02:05. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задан вектор X[20]. Положительные числа переписать в массив Y, а отрицательные в массив W | leha_demi | Помощь студентам | 2 | 24.09.2011 18:12 |
Дан массив А(20). Получить массив В(20), в котором В(1)=А(2), В(2)=А(1), В(3)=А(4), В(4)=А(3) и т.д. Выве | nikita1 | Помощь студентам | 5 | 01.12.2010 18:16 |
Как конвертировать массив символов в массив байт | davinci | C++ Builder | 6 | 30.10.2010 18:09 |
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. | Marishkaa | Помощь студентам | 2 | 12.01.2010 16:54 |
Упорядочить массив в порядке возрастания и напечатать входной и исходный массив. | TheVenny | Помощь студентам | 3 | 26.11.2008 15:06 |