Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Inserisci nomi da lista e stampa 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

Inserisci nomi da lista e stampa con condizione

Postdi BG66 » 07/04/20 14:47

Ciao e spero che stiate tutti bene.
Al momento seleziono il nome del lavoratore in L2 e poi stampo la dichiarazione.
Vorrei invece che selezionando in I2 -> ALL e scegliendo in H2 l'unità produttiva (es. VI)
producessi una stampa per ogni lavoratore che risponde ai requisiti.
In pratica nel foglio"Dichiarazione" seleziono:
I2= ALL
H2= VI

-> dato atteso: stampa di n°2 fogli (e precisamente Pippo Baudo e Gloria Guida -> presi dal foglio "DB")

Ovviamente se seleziono Stampa=Singola mi stampa il solo nominativo selezionato.

https://www.dropbox.com/scl/fi/o4ew4gabl5t1gb7hxqb8y/Controllo-Temperatura.xlsx?dl=0&rlkey=9dc7cyr6127o5osilqt74iwez

Grazie per l'aiuto e STAY SAFE

PS: Lascio il file con tutte le informazioni non sensibili, sperando eventualmente possa servire a qualcun'altro nella gestione di questa emergenza COVID-19.
BG66
Excel2010
Avatar utente
BG66
Utente Senior
 
Post: 222
Iscritto il: 20/08/16 07:44

Sponsor
 

Re: Inserisci nomi da lista e stampa con condizione

Postdi Marius44 » 07/04/20 16:08

Ciao Gene
come va la "clausura"? Spero bene per tutti voi.

Così di primo acchito penso che ALL debba andare fra i nominativi e non nel reparto.
Una eventuale macro (che non c'è! come mai? Non è da te!) se trova un solo nominativo mi stampa quello (e non è necessario il pulsante Stampa singola), mentre se trova ALL mi va a cercare i nominativi del Reparto e mi stampa 1, 2 3, ecc dichiarazioni.

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

Re: Inserisci nomi da lista e stampa con condizione

Postdi BG66 » 07/04/20 20:47

Ciao Mario,
per somma gioia del restante 66% della famiglia, ho riacceso i motori ieri!!

Ho messo ALL nei reparti perchè l'idea è di stampare tutti i nominativi presenti nel database quando è presente questa dicitura.
Non ho prodotto nulla come macro perchè sono "concetti" nuovi e non ho trovato nessuno spunto in rete per partire.
Ho provato, come da immemori bastonate del mio tutor, a suddividere il progetto in pezzettini:
1) Prendi il nome tenendo conto delle selezioni,
2) Incolla il primo nome in L2 e stampa, prendi il secondo nome, sovrascrivi in L2 e stampa, etc etc

Ma al momento non ho fatto passi avanti.

A presto
Gene
BG66
Excel2010
Avatar utente
BG66
Utente Senior
 
Post: 222
Iscritto il: 20/08/16 07:44

Re: Inserisci nomi da lista e stampa con condizione

Postdi Marius44 » 07/04/20 21:55

Ciao
Forse la "clausura" ti ha arrugginito :lol:

Ti allego il file dove ho inserito una macro che è da completare (vuoi lavorare oppure no!)
Ho aggiustato la Convalida dei nomi. La colonna I del Foglio Dichiarazioni deve essere eliminata

https://www.dropbox.com/s/aai2etqrvawl7go/contr_temp_vba.xlsm?dl=0

Fai sapere. Ciao,
Mario
Marius44
Utente Senior
 
Post: 501
Iscritto il: 07/09/15 22:00

Re: Inserisci nomi da lista e stampa con condizione

Postdi Anthony47 » 08/04/20 01:01

La mia realizzazione e' piu' generosa di quella di Mario, in linea con i criteri di esagerata abbondanza del nostro forum :D

Innanzitutto, nel Modulo Vba del foglio Dichiarazione mettiamo questo codice, che serve per compilare H2, se si compila il Nominativo in G2, e ad azzerare il Nominativo se si compila H2:
Codice: Seleziona tutto
Dim OnG As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
Dim myMatch
If Not OnG Then
    OnG = True
    If Target.Address = "$G$2" Then
        myMatch = Application.Match(Target.Value, Sheets("DB").Range("A1:A1000"), False)
        If Not IsError(myMatch) Then
            Range("H2").Value = Sheets("DB").Cells(myMatch, 2).Value
        Else
            Beep
        End If
    ElseIf Target.Address = "$H$2" Then
        Range("G2").ClearContents
    End If
    OnG = False
End If
End Sub

Poi la stampa e' controllata da questa seconda macro, che va in un Modulo standard del vba:
Codice: Seleziona tutto
Sub CoviDec()
Dim iNam As String, iFac As String
Dim I As Long, LastA As Long
'
'scegli printer
SelPrint = Application.Dialogs(xlDialogPrinterSetup).Show
If SelPrint = False Then
    MsgBox "Stampa Cancellata"
    Exit Sub
End If
'
iNam = Range("G2")
iFac = Range("H2")
If iNam <> "" Then
    ActiveSheet.PrintOut
Else
    LastA = Sheets("DB").Range("A1000").End(xlUp).Row
    For I = 2 To LastA
    Range("G2").Value = Sheets("DB").Cells(I, "A").Value
    If InStr(1, Range("H2").Value & "  ", iFac, vbTextCompare) > 0 Then
        ActiveSheet.PrintOut
        Application.Wait (Now + TimeValue("0:00:02"))
    End If
    Next I
End If
MsgBox ("Completato...")
End Sub

Il concetto e' che se si avvia la stampa col nominativo impostato allora verra' stampata la scheda del solo Nominativo; se e' impostata una Sede allora si stamperanno tutte le schede di quella Sede; se non e' impostato nulla allora si stamperanno le schede di tutti i Nominativi.

Non so anticipare il comportamento della coda di stampa nel caso si mandassero in stampa decine o centinaia di fogli in sequenza; ho inserito una Wait nel ciclo ma questa non puo' coprire i tempi di effettiva stampa.

La colonna I e' inutile anche nella mia ipotesi

Il file con queste modifiche e' scaricabile qui: https://www.dropbox.com/s/jnxv4btqltp69 ... .xlsm?dl=0

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

Re: Inserisci nomi da lista e stampa con condizione

Postdi Marius44 » 08/04/20 04:52

Buongiorno a tutti
Come al solito Anthony è troppo buono :lol:

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

Re: Inserisci nomi da lista e stampa con condizione

Postdi BG66 » 08/04/20 06:12

[RISOLTO]
Ciao Anthony & Mario.
Io sono stato scelto per il ruolo del Brutto... a voi lascio la scelta degli altri ruoli :lol:
Immagine

Grazie ad entrambi.
Gene
BG66
Excel2010
Avatar utente
BG66
Utente Senior
 
Post: 222
Iscritto il: 20/08/16 07:44

Re: Inserisci nomi da lista e stampa con condizione

Postdi Marius44 » 08/04/20 06:35

Ciao
Se guardi il post precedente mi sembra ovvio :lol:

Ciao e buon lavoro,
Mario
Marius44
Utente Senior
 
Post: 501
Iscritto il: 07/09/15 22:00


Torna a Applicazioni Office Windows


Topic correlati a "Inserisci nomi da lista e stampa con condizione":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti