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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2010, 14:14   #1
BrusBarton
 
Регистрация: 25.03.2010
Сообщений: 9
Восклицание Найдите ошибку в макросе

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Sheets("Итоговый журнал учета входящих").Select
Rows("2:2").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A2").Select
ActiveCell.FormulaR1C1 = "=Основной!R[4]C[2]"
Range("B2").Select
ActiveCell.FormulaR1C1 = "=Основной!R[8]C[-1]"
Range("C2").Select
ActiveCell.FormulaR1C1 = "=Основной!R[15]C[-2]"
Range("D2").Select
ActiveCell.FormulaR1C1 = "=Основной!R[9]C[-3]"
Range("E2").Select
ActiveCell.FormulaR1C1 = "=Основной!R[4]C[-3]"
Range("A2:E2").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1
Sheets("Основной").Select
End Sub



Суть макроса такова, при распечатывание данных,у меня на другом листике создается архивчик того чего я распечатал, только вот суть в том что сохранение идет не попорядку, а с низу вверх,а надо с верху вниз попорядку.

Последний раз редактировалось BrusBarton; 29.03.2010 в 15:54. Причина: Файлик добавлен на 2-й странице
BrusBarton вне форума Ответить с цитированием
Старый 29.03.2010, 14:24   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Ваш макрос можно немного сократить и упростить:

Код:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Sheets("Итоговый журнал учета входящих").Select
    Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A2").FormulaR1C1 = "=Основной!R[4]C[2]"
    Range("B2").FormulaR1C1 = "=Основной!R[8]C[-1]"
    Range("C2").FormulaR1C1 = "=Основной!R[15]C[-2]"
    Range("D2").FormulaR1C1 = "=Основной!R[9]C[-3]"
    Range("E2").FormulaR1C1 = "=Основной!R[4]C[-3]"
    Range("A2:E2").Value = Range("A2:E2").Value
    Sheets("Основной").Select
End Sub
А найти в нём ошибку, не увидев вашего файла, я не могу.
EducatedFool вне форума Ответить с цитированием
Старый 29.03.2010, 14:38   #3
BrusBarton
 
Регистрация: 25.03.2010
Сообщений: 9
По умолчанию

файлик конфеденциальный(( никак не льзя в этом макросе увидеть функцию которая переносит файл в верх,а надо вниз?
BrusBarton вне форума Ответить с цитированием
Старый 29.03.2010, 14:46   #4
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Я понял так надо:

Код:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Sheets("Итоговый журнал учета входящих").Select
    Dim lLastRow As Long: lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
    Rows(lLastRow + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A" & lLastRow).FormulaR1C1 = "=Основной!R[4]C[2]"
    Range("B" & lLastRow).FormulaR1C1 = "=Основной!R[8]C[-1]"
    Range("C" & lLastRow).FormulaR1C1 = "=Основной!R[15]C[-2]"
    Range("D" & lLastRow).FormulaR1C1 = "=Основной!R[9]C[-3]"
    Range("E" & lLastRow).FormulaR1C1 = "=Основной!R[4]C[-3]"
    Range("A" & lLastRow & ":E" & lLastRow).Value = Range("A" & lLastRow & ":E" & lLastRow).Value
    Sheets("Основной").Select
End Sub
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 29.03.2010, 14:53   #5
BrusBarton
 
Регистрация: 25.03.2010
Сообщений: 9
По умолчанию

не происходит сохранение файла с этим макросом
BrusBarton вне форума Ответить с цитированием
Старый 29.03.2010, 15:04   #6
BrusBarton
 
Регистрация: 25.03.2010
Сообщений: 9
По умолчанию

не происходит сохранения данных после того как послал на печать, а он работал))
BrusBarton вне форума Ответить с цитированием
Старый 29.03.2010, 15:05   #7
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от BrusBarton Посмотреть сообщение
не происходит сохранение файла с этим макросом
А в выложенном Вами макросе происходит сохранение? Почему оно вообще должно происходить, если Вы этого не написали, а макрос выполняется перед печатью?
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 29.03.2010, 15:06   #8
BrusBarton
 
Регистрация: 25.03.2010
Сообщений: 9
По умолчанию

да Макрос работает так, данные собирает(из макроса видно какие ячейки) ,и на отдельном листочке копирует их при нажатии на кнопку печать. Ошибка заключалась в том что файл который сохранялся у меня на отдельном листочке он не по порядку сохранялся, а сохраняется первым,а не в конец. и так далее надо чтобы было

Последний раз редактировалось BrusBarton; 29.03.2010 в 15:12.
BrusBarton вне форума Ответить с цитированием
Старый 29.03.2010, 15:18   #9
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Ничего не понял. Чтобы просто сохранялся - добавьте в конец макроса - Me.Save

А чтоб значек книги в папке был последним - в меню папки - Вид-Упорядочить значки-Изменен.

Других догадок на Ваши загадки у меня нет....
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 29.03.2010, 15:31   #10
BrusBarton
 
Регистрация: 25.03.2010
Сообщений: 9
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Ничего не понял. Чтобы просто сохранялся - добавьте в конец макроса - Me.Save

А чтоб значек книги в папке был последним - в меню папки - Вид-Упорядочить значки-Изменен.

Других догадок на Ваши загадки у меня нет....


Извините видимо вы меня не поняли
BrusBarton вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найдите ошибку MaJlbBuHa Паскаль, Turbo Pascal, PascalABC.NET 2 20.10.2009 23:26
Найдите ошибку St1fler92 Помощь студентам 4 26.05.2009 15:23
найдите ошибку Сова Паскаль, Turbo Pascal, PascalABC.NET 9 11.02.2009 18:46
Найдите ошибку! geniy JavaScript, Ajax 4 04.12.2007 16:22