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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2011, 13:31   #1
gramp
Пользователь
 
Регистрация: 26.12.2010
Сообщений: 85
По умолчанию динамический массив?

Код для примера
Sub c1()
Dim ttt() As Integer
Dim i As Integer
For i = 0 To 20
Worksheets("11").Cells(i + 5, 1).Value = i
ttt(i) = i + 1
Worksheets("11").Cells(i + 5, 2).Value = ttt(i)
Worksheets("11").Cells(i + 5, 3).Value = "ttt(" & i & ")"
Next i
End Sub

показывает ошибку в строке
ttt(i) = i + 1
описание ошибки - нет переменных
если же вместо
Dim ttt() As Integer
написать
Dim ttt(0 To 20) As Integer
то все работает
вопрос - почему не работает
Dim ttt() As Integer
хотя в букварях написано, что если скобки оставить пустыми - то это динамический массив, который будет заполняться по ходу
gramp вне форума Ответить с цитированием
Старый 26.02.2011, 14:09   #2
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Цитата:
Сообщение от gramp Посмотреть сообщение
...хотя в букварях написано, что если скобки оставить пустыми - то это динамический массив, который будет заполняться по ходу
Читаем букварь дальше: прежде чем использовать массив, нужно определить его размер
ReDim ttt(20)
И тогда все получается:
Код:
Sub ccc()
Dim ttt() As Integer, i As Integer
ReDim ttt(20)
For i = 0 To 20
    ttt(i) = i + 1
    With Worksheets("11")
        .Cells(i + 5, 1).Value = i
        .Cells(i + 5, 2).Value = ttt(i)
        .Cells(i + 5, 3).Value = ttt(i) & " (" & i & ")"
    End With
Next i
End Sub

Последний раз редактировалось nilem; 26.02.2011 в 14:12.
nilem вне форума Ответить с цитированием
Старый 26.02.2011, 14:41   #3
gramp
Пользователь
 
Регистрация: 26.12.2010
Сообщений: 85
По умолчанию

благодарю)
gramp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический массив tony_vies Помощь студентам 0 20.02.2011 21:18
Динамический массив - или всё таки не динамический? vedro-compota Общие вопросы C/C++ 30 10.12.2010 23:22
Динамический массив MiGuel1993 Общие вопросы C/C++ 4 03.12.2010 18:26
Динамический массив DEMUT Общие вопросы C/C++ 2 07.11.2010 21:10
Динамический массив zumm Свободное общение 3 18.07.2010 13:59