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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2015, 10:05   #1
siv14
 
Регистрация: 25.01.2015
Сообщений: 5
По умолчанию Не отрабатывает цикл в макросе

Добрый день!
Помогите разобраться с ошибкой. Создал макрос заполнения листов книги из листа "Temp". Сделал два цикла, внешний и внутренний. Внешний отрабатывает, заполняет "шапку", а внутренний - заполнение данными не работает. Пример во вложении. Подскажите, что не так.
Вложения
Тип файла: rar Книга1.rar (19.2 Кб, 16 просмотров)
siv14 вне форума Ответить с цитированием
Старый 30.01.2015, 10:48   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

добавте в начало строки ':
Код:
' Sheets(iSheetName).Select
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 30.01.2015, 11:07   #3
siv14
 
Регистрация: 25.01.2015
Сообщений: 5
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
добавте в начало строки ':
Спасибо, это помогло. Но после отработки макроса данные вставлялись в те же ячейки, в которых находились на листе "Temp", а надо чтобы переносимые данные начинались с 5 строки на каждом листе. Загвоздка здесь: Worksheets("Temp").Range("B" & n).Value, но как исправить?
siv14 вне форума Ответить с цитированием
Старый 30.01.2015, 11:24   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

полагаете кто-то кроме Вас (и, возможно, нескольких просветленных) знает что должен делать этот макрос?

у нас задача:
1. максимум - угадать что Вы думали, (минимум - угадать что должен делать макрос)
2. исправить макрос в соответствии с п.1.

переносите тему в ветку "Экстрасенсы" - там все сделают, но будьте готовы, что люди со сверхчеловеческими способностями начнут сканировать Ваши мысли, не думайте ничего такого, за что будет потом перед ними стыдно.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 30.01.2015, 11:30   #5
siv14
 
Регистрация: 25.01.2015
Сообщений: 5
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
...не думайте ничего такого, за что будет потом перед ними стыдно.
А это к чему?!
siv14 вне форума Ответить с цитированием
Старый 31.01.2015, 01:45   #6
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
добавте в начало строки ':
Код:
' Sheets(iSheetName).Select
Не лучший вариант решения.
Лучше вообще выкинуть все Selectы!
Работайте с объектными переменными
Начало процедуры будет такое:
Код:
Dim ST As Worksheet, Si As Worksheet
Set ST = Worksheets("Temp")
With ST
    li = .Cells(.Rows.Count, 9).End(xlUp).Row     'Столбец I
    Lq = .Cells(.Rows.Count, 17).End(xlUp).Row    'Столбец Q
End With

  For i = 10 To Lq
    iSheetName = Range("Q" & i).Value
    
    For Each iSheet In Worksheets
        If iSheet.Name = iSheetName Then
            With iSheet
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
setTimeout неправильно отрабатывает Mortimoro JavaScript, Ajax 4 03.05.2013 10:28
jbutton.setEnabled не отрабатывает sashonk Общие вопросы по Java, Java SE, Kotlin 1 27.11.2010 07:04
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34