Всем привет, так как сам являюсь нубкой в экселе прошу о помощи сторожил, макрос служит для печаити другого листа из книги ориентируясь на фильтр одной из страниц....
[vba]
Код
If Ch = "H" Or Ch = "h" Then For i = 1 To ActiveWorkbook.Sheets("Талон").Cells(7, 2) ActiveWorkbook.Sheets("H").Cells(1, 2) = ActiveWorkbook.Sheets("Учет").Cells(r, 9) ActiveWorkbook.Sheets("H").Cells(3, 2) = ActiveWorkbook.Sheets("Учет").Cells(r, 1) ActiveWorkbook.Sheets("H").Cells(4, 2) = ActiveWorkbook.Sheets("Учет").Cells(r, 6) & " - " & ActiveWorkbook.Sheets("Учет").Cells(r, 5) ActiveWorkbook.Sheets("H").Cells(5, 2) = i ActiveWorkbook.Sheets("H").Cells(5, 3) = ActiveWorkbook.Sheets("Талон").Cells(7, 2) ActiveWorkbook.Sheets("H").PrintOut copies:=1 Next i End If
[/vba] выдержка из него, до этого вместо Н там числилось SP, я сменил но приусловиях выдает ошибку...(
Всем привет, так как сам являюсь нубкой в экселе прошу о помощи сторожил, макрос служит для печаити другого листа из книги ориентируясь на фильтр одной из страниц....
[vba]
Код
If Ch = "H" Or Ch = "h" Then For i = 1 To ActiveWorkbook.Sheets("Талон").Cells(7, 2) ActiveWorkbook.Sheets("H").Cells(1, 2) = ActiveWorkbook.Sheets("Учет").Cells(r, 9) ActiveWorkbook.Sheets("H").Cells(3, 2) = ActiveWorkbook.Sheets("Учет").Cells(r, 1) ActiveWorkbook.Sheets("H").Cells(4, 2) = ActiveWorkbook.Sheets("Учет").Cells(r, 6) & " - " & ActiveWorkbook.Sheets("Учет").Cells(r, 5) ActiveWorkbook.Sheets("H").Cells(5, 2) = i ActiveWorkbook.Sheets("H").Cells(5, 3) = ActiveWorkbook.Sheets("Талон").Cells(7, 2) ActiveWorkbook.Sheets("H").PrintOut copies:=1 Next i End If
[/vba] выдержка из него, до этого вместо Н там числилось SP, я сменил но приусловиях выдает ошибку...(Стася
Так вроде прозрачнее, и меньше возможности ошибиться:
[vba]
Код
Dim sh As Worksheet
Set sh = ActiveWorkbook.Sheets("H") With ActiveWorkbook.Sheets("Учет") If LCase(Ch) = "h" Then For i = 1 To ActiveWorkbook.Sheets("Талон").Cells(7, 2) sh.Cells(1, 2) = .Cells(r, 9) sh.Cells(3, 2) = .Cells(r, 1) sh.Cells(4, 2) = .Cells(r, 6) & " - " & .Cells(r, 5) sh.Cells(5, 2) = i sh.Cells(5, 3) = ActiveWorkbook.Sheets("Талон").Cells(7, 2) sh.PrintOut copies:=1 Next i End If End With
[/vba]
Так вроде прозрачнее, и меньше возможности ошибиться:
[vba]
Код
Dim sh As Worksheet
Set sh = ActiveWorkbook.Sheets("H") With ActiveWorkbook.Sheets("Учет") If LCase(Ch) = "h" Then For i = 1 To ActiveWorkbook.Sheets("Талон").Cells(7, 2) sh.Cells(1, 2) = .Cells(r, 9) sh.Cells(3, 2) = .Cells(r, 1) sh.Cells(4, 2) = .Cells(r, 6) & " - " & .Cells(r, 5) sh.Cells(5, 2) = i sh.Cells(5, 3) = ActiveWorkbook.Sheets("Талон").Cells(7, 2) sh.PrintOut copies:=1 Next i End If End With