Su di un foglio "Stampe varie" ho creato una serie di pulsanti, per ciascuno dei quali ho assegnato una macro di stampa di un singolo altro foglio (GS, PUMA, PURA, CD, CDRA, SV, ecc..), della quale ne posto il codice:
- Codice: Seleziona tutto
Sub StampaCD()
Application.ScreenUpdating = False
Workbooks.Open Filename:="C:\Archivio\Elenchi generali stagione.xls", UpdateLinks:=3
Sheets("CD").Visible = True
Sheets("CD").Select
Range("A11:O1100").Select
Righe = Selection.Rows.Count + 1
For C = Righe To 12 Step -1
If Cells(C, 12).Value = "" Then
Cells(C, 12).EntireRow.Hidden = True
End If
Next
Range("A1").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, Copies:=1, Collate:=True
Cells.Select
Selection.EntireRow.Hidden = False
Range("A1").Select
ActiveWorkbook.Close SaveChanges = True
Application.ScreenUpdating = True
End Sub
Al di là della selezione del foglio da stampare, il codice è uguale per tutti i pulsanti di stampa.
Ho provato a scrivere un'altra macro, peraltro scopiazzata su forum:
- Codice: Seleziona tutto
Sub Stampa()
Sheets(Array("GS", "PUMA", "PURA", "CD", "CDRA", "SV", "VIP", "DGPC")). Select
For I = 1 To 8
Range("A11:=1100").Select
Righe = Selection.Rows.Count + 1
For c = Righe To 12 Step -1
If Cells(c, 12).Value = "" Then
Cells(c, 12).EntireRow.Hidden = True
End If
Next c
Next I
Sheets("GS").Activate
ActiveWorkbook.PrintOut
End Sub
Ma, la seconda macro:
1) ci impiega "una vita" a nascondere le righe dove non ci sono dati da stampare;
2) stampa tutti i fogli selezionati (.... lo sapevo! Era solo una prova.) e non è ciò che si vuole.
Domanda (Help me please!!!! ):
esiste un modo per evitare di scrivere 8, o anche più, macro e far sì che cliccando sul pulsante collegato al foglio (es.: PUMA) stampi solo questo?
Spero con tutto il cuore di essere stato chiaro.
Grazie per tutto l'aiuto che mi possa essere dato.
Cesare.