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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2009, 16:47   #1
Feniks18
 
Регистрация: 16.06.2008
Сообщений: 6
По умолчанию Макрос печати по списку

Помогите пожалуйста новичку в EXCEL с написанием макроса в приложенном файле, не получается у меня со ссылками, не обновляются новые данные. Cуть вот в чём: копируется список сотрудников на вкладку "список", на вкладке "уведомление", в ручную ставится рейтинг и старый оклад, после чего хотелось бы что бы по запуску макроса произошла печать вкладки "доп согл" и "уведомление" в двух экземплярах, после чего ссылки на вкладках "доп согл" и "уведомление" брали данные с другой строчки вкладки "список", и так по всему списку. (Ссылки на данные списка выделил цветом). Вот этот переход на данные с другого ряда у меня и не получается, пишет ошибка ссылок. Заранее благодарен и признателен за ответ.
Вложения
Тип файла: rar Raschet.rar (11.2 Кб, 20 просмотров)
Feniks18 вне форума Ответить с цитированием
Старый 02.11.2009, 17:05   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Заменил все формулы.
Теперь они выглядят примерно так:
Код:
  Ячейка: B33     Формула  (стиль A1):   =СМЕЩ(Список!A1;shift;0)
                  Формула  (стиль R1C1): =СМЕЩ(Список!R[-32]C[-1];shift;0)
На листе Уведомление есть зелёная ячейка с именем shift - потом сделаете её невидимой (измените цвет фона и шрифта)

Вот весь макрос:
Код:
Sub test()
    Dim sh1 As Worksheet: Set sh1 = Worksheets("Уведомление")
    Dim sh2 As Worksheet: Set sh2 = Worksheets("Доп согл")
    For i = 1 To WorksheetFunction.CountA([Список!a:a]) - 1
        [shift] = i:    'Debug.Print [Уведомление!c3]
        sh1.PrintPreview
        sh2.PrintPreview
    Next
End Sub
Если такой вариант устроит, замените в коде строки
Код:
        sh1.PrintPreview
        sh2.PrintPreview
на строки
Код:
        sh1.PrintOut , , 2
        sh2.PrintOut , , 2
Файл с макросом:

EducatedFool вне форума Ответить с цитированием
Старый 03.11.2009, 07:20   #3
Feniks18
 
Регистрация: 16.06.2008
Сообщений: 6
По умолчанию

Спасибо огромное за вашу помощь, вы выпросто гений своего дела! Извините пожалуйста, я наверное немного не точно написал, дело в том, что выполнение макроса должно заканчиваться после печати "увед." и "доп. согл." на одного человека, т.к. нужно внести оклад и рейтинг на другого, после чего запускаем макрос, происходит печать, берутся данные следущего человека, я снова вношу оклад и рейтинг, спасибо огромное
Feniks18 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка по списку jkpro Работа с сетью в Delphi 23 24.09.2009 17:26
Макрос для печати!!! Счетчик.. Miax Microsoft Office Excel 5 11.09.2009 17:33
Обратиться к впадающему списку Exo Microsoft Office Excel 9 28.11.2008 14:01
Макрос сохранения после печати lala_white Microsoft Office Word 2 10.08.2008 12:50
Переименовать файлы по списку!? jungo Microsoft Office Excel 14 19.05.2008 11:43