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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2010, 18:22   #1
tigga
 
Регистрация: 18.02.2010
Сообщений: 3
По умолчанию Циклы - вложенны циклы?

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

Заранее Спасибо!
tigga вне форума Ответить с цитированием
Старый 18.02.2010, 21:02   #2
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

Код:
Sub pp()
    Dim i, j, k, m, b
    Dim str
    b = 4
    For i = 4 To 8
        For j = 4 To 6
            For k = 4 To 6
                str = Cells(i, 1) & " - " & Cells(j, 2) & "." & Cells(k, 3) & " " & Cells(4, 4)
                Cells(b, 10) = str
                str = ""
                b = b + 1
            Next k
        Next j
    Next i

End Sub
тип того
Dophin вне форума Ответить с цитированием
Старый 19.02.2010, 16:24   #3
tigga
 
Регистрация: 18.02.2010
Сообщений: 3
По умолчанию

Cпасибо! Сейчас попробую!
tigga вне форума Ответить с цитированием
Старый 19.02.2010, 17:47   #4
tigga
 
Регистрация: 18.02.2010
Сообщений: 3
По умолчанию

А если заранее неизвестно количество заданных ячеек в столбцах?
tigga вне форума Ответить с цитированием
Старый 19.02.2010, 23:28   #5
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

Код:
Sub pp()
    Dim i, j, k, m, b
    Dim str
    b = 4
    For i = 4 To Cells(Rows.Count, 1).End(xlUp).Row
        For j = 4 To Cells(Rows.Count, 2).End(xlUp).Row
            For k = 4 To Cells(Rows.Count, 3).End(xlUp).Row
                For m = 4 To Cells(Rows.Count, 4).End(xlUp).Row
                    str = Cells(i, 1) & " - " & Cells(j, 2) & "." & Cells(k, 3) & " " & Cells(m, 4)
                    Cells(b, 10) = str
                    str = ""
                    b = b + 1
                Next m
            Next k
        Next j
    Next i

End Sub
а если бы у бабушки были яйца - она была бы дедушкой.

в следующий раз четче формулируйте что надо
Dophin вне форума Ответить с цитированием
Старый 19.02.2010, 23:36   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
а если бы у бабушки были яйца - она была бы дедушкой.

Раз уж написал,выложу
Выделяем необходимый диапазон и жмем кнопку
Вложения
Тип файла: rar primerr.rar (27.5 Кб, 20 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Циклы <DefendeR> Общие вопросы C/C++ 1 17.12.2009 20:41
циклы Кирилл17 Помощь студентам 4 30.10.2009 20:59
C++ циклы KOLYTFR Помощь студентам 5 26.04.2009 23:38
циклы. Кирилл17 Помощь студентам 6 24.12.2008 03:23