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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2010, 14:23   #1
armagedon_atyrau
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 22
По умолчанию Не могу разобраться со вложенным циклом

Здравствуйте Всем!!!!

Есть такой код:
For tn=1 To 4
For sn=1 To 8
Select Case sn
Case 1
for rn=2 To 11
cn=1 To 5
.........
next cn
next rn
Case 2
for rn=2 To 11
cn=6 To 11
..........
next cn
next rn
Case 3
for rn=2 To 11
cn=12 To 18
...................
next cn
next rn
Case 4
for rn=2 To 11
cn=19 To 25
.....................
next cn
next rn
end Select
next sn
next tn
Как можно сделать что бы если tn=2 тогда везде был for rn=12 To 22
Если tn=3 тогда везде rn=23 To 30
Пожалуйста помогите плиз или скажите пожалуйста возможно ли это
Уже целую неделю голову ломил но результат 0.
Заранее благодарен
armagedon_atyrau вне форума Ответить с цитированием
Старый 26.07.2010, 14:37   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Добавьте переменные x и y.
x=2: y=11
if tn=2 then x=12: y=22
и т.д.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 26.07.2010 в 14:41.
Hugo121 вне форума Ответить с цитированием
Старый 26.07.2010, 14:52   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

попрорбуйте так
Код:
Dim Nah As Integer, Kon As Integer

For tn = 1 To 4
'-------------------------------------------
Select Case tn
Case 2
Nah = 12: Kon = 22
Case 3
Nah = 23: Kon = 30
Case Else
Nah = 2: Kon = 11
End Select
'---------------------------------------------
For sn = 1 To 8
Select Case sn
Case 1
For rn = Nah To Kon
cn=1 To 5
.........
Next cn
Next rn
Case 2
For rn = Nah To Kon
cn=6 To 11
..........
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 26.07.2010, 14:54   #4
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

для чего у тебя цикл, напр. For sn = 1 To 8, а select case только до 4-х?
Код:
   'массивы для (begin\end) циклов
   Dim for_rn(1 To 3, 1 To 2)
   Dim for_cn(1 To 4, 1 To 2)
   
   for_rn(1, 1) = 2:   for_rn(1, 2) = 11
   for_rn(2, 1) = 12:  for_rn(2, 2) = 22
   for_rn(3, 1) = 23:  for_rn(3, 2) = 30
   
   for_cn(1, 1) = 1:   for_cn(1, 2) = 5
   for_cn(2, 1) = 6:   for_cn(2, 2) = 11
   for_cn(3, 1) = 12:  for_cn(3, 2) = 18
   for_cn(4, 1) = 19:  for_cn(4, 2) = 25
   
   
   For tn = 1 To 4
      For sn = 1 To 8
         If tn > 3 Or sn > 4 Then
            MsgBox "Для чего так?"
         Else
         
            For rn = for_rn(tn, 1) To for_rn(tn, 2)
               For cn = for_cn(sn, 1) To for_cn(sn, 2)
                  '.........
               Next cn
            Next rn
            
         End If
      Next sn
   Next tn
аналитика вне форума Ответить с цитированием
Старый 26.07.2010, 16:33   #5
armagedon_atyrau
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 22
По умолчанию Вложенный цикл

Doober,
Спасибо Вам большое за помощь.
Ваш ответ для моей задачи самый раз.
Спасибо ребята всем ваши варианты тоже отлично работает пробывал.
Но именно ответ Doober а выбрал
Без обид
armagedon_atyrau вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу разобраться!!! Яна Сафронова Помощь студентам 11 12.05.2010 17:56
Запутался с вложенным циклом for. Telas Общие вопросы Delphi 0 28.04.2010 09:30
не могу разобраться Var17 Общие вопросы Delphi 6 27.03.2010 01:21
Не могу разобраться semAz Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 10.03.2010 17:43
не могу разобраться Инспектор ГУЛ Свободное общение 7 20.09.2009 09:29