Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Stampare fogli di lavoro con condizione

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Stampare fogli di lavoro con condizione

Postdi BG66 » 15/09/20 05:23

Un saluto sperando che stiate tutti bene.
Come da titolo vorrei stampare i fogli di lavoro quando nella colonna B del foglio "MENU" vi sia presente SI
https://www.dropbox.com/scl/fi/hkbgtfpjqmt0iv82img5l/RegAnti_forum.xlsm?dl=0&rlkey=ka42jbgj73qvwhippezspfzhp

Io mi sono piantato pochi centimetri dopo la partenza....
Codice: Seleziona tutto
Sub SelezionaStampati()
Dim I As Long
'1- scegli STAMPANTE:
SelPrint = Application.Dialogs(xlDialogPrinterSetup).Show
If SelPrint = False Then
    MsgBox "Stampa Cancellata"
    Exit Sub
End If
'2- stampa fogli selezionati:
Application.ScreenUpdating = False
With Sheets("MENU")
'----------------PIANTATO-----------------
End With
Application.ScreenUpdating = True
Sheets("MENU").Select
End Sub



Grazie in anticipo
Gene
STAY SAFE
BG66
Excel2010
Avatar utente
BG66
Utente Senior
 
Post: 227
Iscritto il: 20/08/16 07:44

Sponsor
 

Re: Stampare fogli di lavoro con condizione

Postdi Marius44 » 15/09/20 07:29

Ciao Gene
Forse è dovuto all'ora (tua) mattutina ma a me sembra che nella col.C non ci possa MAI essere un SI o un NO.
If .Cells(I, "C") = "SI" Then
Forse quella "C" deve essere "B"?

Ciao,
Mario
Marius44
Utente Senior
 
Post: 504
Iscritto il: 07/09/15 22:00

Re: Stampare fogli di lavoro con condizione

Postdi Anthony47 » 15/09/20 08:46

Beh, si puo' anche capire che dopo una notte insonne BG possa scrivere If .Cells(I, "C") = "SI" Then invece che If .Cells(I, "B") = "SI" Then...
Comunque, volendo essere generosi come al solito (su questo forum...), non lo lasciamo alla ricerca del prossimo errore e gli proponiamo questa versione di SelezionaStampati:
Codice: Seleziona tutto
Sub SelezionaStampati()
Dim ShArr(), II As Long
'
Dim I As Long
'1- scegli STAMPANTE:
SelPrint = Application.Dialogs(xlDialogPrinterSetup).Show
If SelPrint = False Then
    MsgBox "Stampa Cancellata"
    Exit Sub
End If
'2- stampa fogli selezionati:
ReDim ShArr(0 To ThisWorkbook.Sheets.Count - 1)
'Application.ScreenUpdating = False
With Sheets("MENU")
For I = 4 To .Cells(Rows.Count, "A").End(xlUp).Row
    If .Cells(I, "B") = "SI" Then
        ShArr(II) = .Cells(I, "C")
        II = II + 1
    End If
Next I
End With
ReDim Preserve ShArr(0 To II - 1)
If II > 0 Then
    ActiveWorkbook.Sheets(ShArr).Select
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
    IgnorePrintAreas:=False
    MsgBox (II  & " Fogli stampati")
Else
    MsgBox ("Zero fogli selezionati")
End If
'Application.ScreenUpdating = True
Sheets("MENU").Select
End Sub

Ho preferito la scelta di stampare tutti i fogli insieme non sapendo quante code di stampa la sua stampante puo' gestire.

Ciao a tutti
Avatar utente
Anthony47
Moderatore
 
Post: 17108
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Stampare fogli di lavoro con condizione

Postdi BG66 » 15/09/20 10:45

[RISOLTO]
Ciao a tutti.

Anthony47 ha scritto:Beh, si puo' anche capire che dopo una notte insonne BG possa scrivere ...................

Marius44 ha scritto:Forse è dovuto all'ora (tua) mattutina ma a me sembra che ............................


Rubando la frase a qualcuno: questa è la prova provata che la notte (o comunque il primo mattino) è fatta per dormire!!

Grazie mille e alla prossima.
Gene
STAY SAFE
BG66
Excel2010
Avatar utente
BG66
Utente Senior
 
Post: 227
Iscritto il: 20/08/16 07:44


Torna a Applicazioni Office Windows


Topic correlati a "Stampare fogli di lavoro con condizione":


Chi c’è in linea

Visitano il forum: papiriof e 37 ospiti