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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2010, 15:30   #1
Lyudm
Пользователь
 
Аватар для Lyudm
 
Регистрация: 11.11.2010
Сообщений: 13
По умолчанию как в VBA создавать циклы

Тем очень много, нужную чего то не нашла...У меня такие вопросы:
1.Как в макросах менять листы, например мне нужно выделить сначала "Таблица1", потом "Таблица2" и т.д. потом "Таблица1а", "Таблица2а", "Таблица3а" и т.д., то есть как создать цикл для Sheets?
2.Как создавать цикл для выделенной области?
Например мне необходимо выделить Range ("A3:N3") и надо выделять эту область через 21 строку.
3.И как создать цикл для ячейки. То есть мне необходимо выделить Range ("A1") каждые 21 строк.
Заранее спасибо=)
Lyudm вне форума Ответить с цитированием
Старый 11.11.2010, 17:13   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
1.Как в макросах менять листы
Код:
Sub test()
    Dim sh As Worksheet
    For Each sh In ThisWorkbook.Worksheets
        MsgBox sh.Name, vbInformation
    Next sh
End Sub
Цитата:
2.Как создавать цикл для выделенной области?
Код:
Sub test()
    Dim sh As Worksheet, ra As Range, tempRange As Range
    For Each sh In ThisWorkbook.Worksheets ' перебираем все листы
        Set ra = sh.Range("a3:n3")    ' начальный диапазон очередного листа
        For i = 0 To 5 ' кол-во блоков
            ' получаем очередной диапазон - смещением основного на несколько строк вниз
            Set tempRange = ra.Offset(i * 21)
            ' выводим адрес диапазона
            MsgBox tempRange.Address(, , , True), vbInformation, "Диапазон " & i & " на листе " & sh.Name
            ' красим ячейки очередного диапазона
            tempRange.Interior.ColorIndex = i + 3
        Next i ' следующий блок
    Next sh ' следующий лист
End Sub
Цитата:
3.И как создать цикл для ячейки.
аналогично предыдущему примеру


PS: И забудьте слово "выделить"
Чтобы работать с ячейками, совсем необязательно их выделять.
Наоборот, этого надо всячески избегать.
EducatedFool вне форума Ответить с цитированием
Старый 11.11.2010, 17:50   #3
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Смотрите здесь Управляющие структуры ... Циклы. Очень подробно и доступно описано...
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 12.11.2010, 08:46   #4
Lyudm
Пользователь
 
Аватар для Lyudm
 
Регистрация: 11.11.2010
Сообщений: 13
По умолчанию

Спасибо, только мне нужно перебирать не все листы рабочей книги, а только часть...как я уже писала "Таблица1"и т.д. "Таблица1а"и т.д, а там есть еще "Таблица1б" и т.д....мне необходимо только 1 и 1а?
И еще, посоветуйте пожалуйста сайт или книгу, где все подробно написано про VBA?скажем так для лузеров?=)

Последний раз редактировалось Lyudm; 12.11.2010 в 08:49.
Lyudm вне форума Ответить с цитированием
Старый 12.11.2010, 09:32   #5
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
И еще, посоветуйте пожалуйста сайт или книгу
Сайтов в инете множество, не думаю, что реально давать здесь все ссылки - поиск Вам в помощь!) А книги...совсем недавно у нас здесь была такая тема Поиск книг
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
vba - циклы ksenechka Помощь студентам 2 15.05.2010 22:42
циклы в VBA POSH Помощь студентам 0 23.04.2010 16:21
VBA.Циклы.Линейные алгоритмы.Условные конструкции. Екатерина нск Помощь студентам 1 17.01.2010 17:37
vba закрасить все циклы синим цветом Berckyt Помощь студентам 0 19.04.2009 14:21
Как создавать закладки? raz Общие вопросы Delphi 5 31.03.2008 13:26