Temat: Drukuj dany Arkusz jeżeli spełniony jest warunek

Witam serdecznie,
Mam problem z pewną formułą, którą przedstawie poniżej, jednak najpierw opisze co chce osiagnąć.
Mianowicie chciałabym aby w zależności od kolumny H w Arkuszu 1 były drukowane poszczególne inne arkusze.
Czyli jeżeli spełnioony jest warunek, ze w komorce np. H4 jest napisane tak, to niech drukuje arkusz "mieszkanie 1" itd.
Wciaż wyskakuje mi błąd związany z zakończeniem formuły, którego nie potrafie ogarnąć. Nie wiem czy jesli go ogarne czy nie wyskoczą kolejne błedy.... Proszę o wsparcie.
Ponizej to co wypociłam:

' Makro1 Makro
'

'

If Range("H4") = "TAK" Then
Sheets("mieszkanie 1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H5") = "TAK" Then
Sheets("mieszkanie 2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H6") = "TAK" Then
Sheets("mieszkanie 3").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H7") = "TAK" Then
Sheets("mieszkanie 4").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H8") = "TAK" Then
Sheets("mieszkanie5").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H9") = "TAK" Then
Sheets("mieszkanie6").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H10") = "TAK" Then
Sheets("mieszkanie 7").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H11") = "TAK" Then
Sheets("mieszkanie 8").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H12") = "TAK" Then
Sheets("mieszkanie 9").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H13") = "TAK" Then
Sheets("mieszkanie 10").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H14") = "TAK" Then
Sheets("nad 1").Select
ActiveWindow.SmallScroll Down:=-21
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H15") = "TAK" Then
Sheets("nad2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H16") = "TAK" Then
Sheets("nad3").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H17") = "TAK" Then
Sheets("nad5").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H18") = "TAK" Then
Sheets("nad6").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H19") = "TAK" Then
Sheets("nad7").Select
ActiveWindow.SmallScroll Down:=-12
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H20") = "TAK" Then
Sheets("nad8").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H21") = "TAK" Then
Sheets("nad9").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H22") = "TAK" Then
Sheets("nad10").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H23") = "TAK" Then
Sheets("nad11").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H24") = "TAK" Then
Sheets("nadg12").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H27") = "TAK" Then
Sheets("lib1").Select
ActiveWindow.ScrollWorkbookTabs Sheets:=1
ActiveWindow.ScrollWorkbookTabs Sheets:=1
ActiveWindow.ScrollWorkbookTabs Sheets:=1
Sheets("garaż 1").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H28") = "TAK" Then
Sheets("garaż 2").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
If Range("H29") = "TAK" Then
Sheets("garaż 3").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End If

ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Arkusz1").Select
Range("I6").Select
End If
End Sub
Oskar Shon

Oskar Shon Dodatki do Office
www.VBATools.pl

Temat: Drukuj dany Arkusz jeżeli spełniony jest warunek

Marta T.:
Czyli jeżeli spełnioony jest warunek, ze w komorce np. H4 jest napisane tak, to niech drukuje arkusz "mieszkanie 1" itd.
Wciaż wyskakuje mi błąd związany z zakończeniem formuły, którego nie potrafie ogarnąć. Nie wiem czy jesli go ogarne czy nie wyskoczą kolejne błedy....

Obawiam że że z taką erudycją możesz mieć kłopot z ogarnięciem czegokolwiek.
Jeśli jeszcze możesz zobaczyć ten post (ponieważ widzę że twoje konto zostało usunięte), to kod dla jednego warunku powinien wyglądać w podobny sposób:
Sub Drukowanie()
If UCase(ActiveSheet.Range("B2").Value) = "TAK" Then
If SheetExists("mieszkanie 1") = True Then _
Sheets("mieszkanie 1").PrintOut Copies:=1
End If
'następny warunek
End Sub

Private Function SheetExists(sname) As Boolean
Dim x As Object
On Error Resume Next
Set x = ActiveWorkbook.Sheets(sname)
If Err = 0 Then SheetExists = True _
Else SheetExists = False
End Function



Wyślij zaproszenie do