gling, на мак сохраняет в ps. Буду разбираться, так как после установки виртуального, пропал пункт "Печать в БЛАНК" Но думаю это капризы мака.
P.S. я понял, что бы данные заносились в бланк (в нужные ячейки), то нужно для начала прописать их в коде макроса?? Мне кажется это не удобно, если в бланк будут вставляется данные больше 10 ячеек с БД, хоча могу ошибаться и я думаю тока в одном направлении.
gling, на мак сохраняет в ps. Буду разбираться, так как после установки виртуального, пропал пункт "Печать в БЛАНК" Но думаю это капризы мака.
P.S. я понял, что бы данные заносились в бланк (в нужные ячейки), то нужно для начала прописать их в коде макроса?? Мне кажется это не удобно, если в бланк будут вставляется данные больше 10 ячеек с БД, хоча могу ошибаться и я думаю тока в одном направлении.bobrenja
Сообщение отредактировал bobrenja - Вторник, 29.03.2016, 22:31
Подскажите, как исправить скрипт Wasilich, что бы при печати первой страницы, останавливалась печать и выводил сообщение "Отправлено на печать. Переверните лист, вложите в принтер, ОК". В этом примере он сразу печатает два листа не останавливаясь.
Sub печать() Dim i&, msg&, msg2&, ps& ps = Range("C" & Rows.Count).End(xlUp).Row msg = InputBox("Номер строки начала печати", , 3) msg2 = InputBox("Номер строки конца печати", , ps) If msg < 3 Or msg2 < msg Then Exit Sub For i = msg To msg2 Range("B2:B" & ps).ClearContents Cells(i, 2) = "x" If Cells(i, 3) = Cells(i + 1, 3) And Cells(i, 4) = Cells(i + 1, 4) Then Cells(i + 1, 2) = "xx" i = i + 1 End If i = i + 1 If Cells(i, 3) <> "" Then Cells(i, 2) = "o" If Cells(i, 3) = Cells(i + 1, 3) And Cells(i, 4) = Cells(i + 1, 4) Then Cells(i + 1, 2) = "oo" i = i + 1 End If End If 'Sheets("БЛАНК").PrintOut MsgBox "Отправлено на печать. Переверните лист, вложите в принтер, ОК" Next i End Sub
Подскажите, как исправить скрипт Wasilich, что бы при печати первой страницы, останавливалась печать и выводил сообщение "Отправлено на печать. Переверните лист, вложите в принтер, ОК". В этом примере он сразу печатает два листа не останавливаясь.
Sub печать() Dim i&, msg&, msg2&, ps& ps = Range("C" & Rows.Count).End(xlUp).Row msg = InputBox("Номер строки начала печати", , 3) msg2 = InputBox("Номер строки конца печати", , ps) If msg < 3 Or msg2 < msg Then Exit Sub For i = msg To msg2 Range("B2:B" & ps).ClearContents Cells(i, 2) = "x" If Cells(i, 3) = Cells(i + 1, 3) And Cells(i, 4) = Cells(i + 1, 4) Then Cells(i + 1, 2) = "xx" i = i + 1 End If i = i + 1 If Cells(i, 3) <> "" Then Cells(i, 2) = "o" If Cells(i, 3) = Cells(i + 1, 3) And Cells(i, 4) = Cells(i + 1, 4) Then Cells(i + 1, 2) = "oo" i = i + 1 End If End If 'Sheets("БЛАНК").PrintOut MsgBox "Отправлено на печать. Переверните лист, вложите в принтер, ОК" Next i End Sub
Подскажите как можно допилить скрипт, что бы вначале печатал четные страницы, затем нечетные?
[vba]
Код
Sub печать() Dim i&, msg&, msg2&, ps& ps = Range("C" & Rows.Count).End(xlUp).Row msg = InputBox("Номер строки начала печати", , 3) msg2 = InputBox("Номер строки конца печати", , ps) If msg < 3 Or msg2 < msg Then Exit Sub For i = msg To msg2 Range("A2:A" & ps).ClearContents Cells(i, 2) = "x" If Cells(i, 3) = Cells(i + 1, 3) And Cells(i, 4) = Cells(i + 1, 4) Then Cells(i + 1, 2) = "xx" i = i + 1 End If i = i + 1 If Cells(i, 3) <> "" Then Cells(i, 2) = "o" If Cells(i, 3) = Cells(i + 1, 3) And Cells(i, 4) = Cells(i + 1, 4) Then Cells(i + 1, 2) = "oo" i = i + 1 End If End If Sheets("БЛАНК").PrintOut 1, 1 MsgBox "Отправлено на печать. Переверните лист, вложите в принтер, ОК" Sheets("БЛАНК").PrintOut 2, 2 Range("A3:A" & ps).ClearContents Next i End Sub
[/vba]
Подскажите как можно допилить скрипт, что бы вначале печатал четные страницы, затем нечетные?
[vba]
Код
Sub печать() Dim i&, msg&, msg2&, ps& ps = Range("C" & Rows.Count).End(xlUp).Row msg = InputBox("Номер строки начала печати", , 3) msg2 = InputBox("Номер строки конца печати", , ps) If msg < 3 Or msg2 < msg Then Exit Sub For i = msg To msg2 Range("A2:A" & ps).ClearContents Cells(i, 2) = "x" If Cells(i, 3) = Cells(i + 1, 3) And Cells(i, 4) = Cells(i + 1, 4) Then Cells(i + 1, 2) = "xx" i = i + 1 End If i = i + 1 If Cells(i, 3) <> "" Then Cells(i, 2) = "o" If Cells(i, 3) = Cells(i + 1, 3) And Cells(i, 4) = Cells(i + 1, 4) Then Cells(i + 1, 2) = "oo" i = i + 1 End If End If Sheets("БЛАНК").PrintOut 1, 1 MsgBox "Отправлено на печать. Переверните лист, вложите в принтер, ОК" Sheets("БЛАНК").PrintOut 2, 2 Range("A3:A" & ps).ClearContents Next i End Sub