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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2009, 18:23   #1
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию Использование массива в цикле

Как правильно использовать массив в цикле, чтобы он каждый раз был новым?

Код:
For Each cell In Range("B1:B11")

parts = Split(cell, " ")
...
Пишет: array is fixed or temporary blocked
motorway вне форума Ответить с цитированием
Старый 17.08.2009, 18:26   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

А как переменную parts объявили? Попробуйте объявить как Variant.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 17.08.2009, 18:30   #3
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Сначала никак, потом пробовал объявлять как Dim parts() as string и др.
Где ее нужно объявлять?

Если объявить вне цикла (и в нем тоже) Dim parts() As Variant, пишет Type mismatch для parts = Split(cell, " ")
Если в цикле Dim parts As Variant, ошибка та же, что и сначала

Последний раз редактировалось motorway; 17.08.2009 в 18:34.
motorway вне форума Ответить с цитированием
Старый 17.08.2009, 20:41   #4
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Объявлять нуна в начале кода, перед выполнением цикла.
Код:
Sub Some_Macros
Dim parts
Dim Cell as Range
For Each cell In Range("B1:B11")
parts = Split(cell, " ")
next Cell
'и т.д.
End Sub
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 17.08.2009, 21:13   #5
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Похоже, то, что надо, но за это время уже эта ошибка меня так достала, что я решил делать по-другому, через for, и там как-то получилось от этого уйти. К тому же были другие проблемы. Но все равно спасибо
motorway вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в цикле Alamez Общие вопросы Delphi 2 05.04.2009 15:12
PHP: использование элемента массива как массива Sudia Помощь студентам 1 20.02.2009 20:48