Macro numerazione automatica
Hai un problema con Excel? 
Macro numerazione automatica
di Giuseppe (utente non iscritto) data: 15/10/2017 09:38:58
Salve, ho creato in un foglio excel una macro per avere una numerazione automatica ad ogni stampa del foglio, vorrei sapere com'è possibile far si che all'apertura del file la macro si avii in automatico visto che il foglio lo dovremmo usare più di una persona e se viene stampato senza macro il numero del foglio non si aggiornerebbe, ringrazio anticipatamente chi potrà aiutarmi.
il codice della macro da me usato è:
Sub Numera_Stampa()
Application.ScreenUpdating = False
num = -1
Valo = Range("A1").Value
If IsNumeric(Valo) Then
Do While num < 0
num = InputBox("1", "1")
If num = "" Then
Exit Sub
End If
Loop
For i = 1 To num
ActiveWindow.SelectedSheets.PrintOut
Range("A1").Value = Range("A1").Value + 1
Next
Else
MsgBox ("LA CELLA NON CONTIENE UN NUMERO")
End If
ActiveWorkbook.Save
End Sub
di patel data: 15/10/2017 10:28:34
immagino che tu abbia inserito il codice in un modulo standard, doppio clic su Questa_Cartella_di_Lavoro, scegli Workbook, ti si aprirà una Private Sub Workbook_Open() , inserisci la call alla tua sub
Private Sub Workbook_Open()
call Numera_Stampa
End Sub |
di Giuseppe (utente non iscritto) data: 15/10/2017 11:40:16
non sono molto pratico scusami.... io ho creato un foglio di lavoro semplice e in una cella ho inserito questa macro
di Zer0Kelvin data: 15/10/2017 11:46:11
Salve a tutti.
Esiste anche la possibilità di eseguire del codice ad ogni stampa.
Se lo scopo è contare quante volte il foglio viene stampato, sarebbe meglio utilizzare l'evento:
Workbook_BeforePrint
che si verifica ad ogni richiesta di stampa.
Dopotutto nulla garantisce che dopo l'apertura del file venga anche eseguita la stampa.
In tal caso, però, il codice sarebbe da rivedere.
La scelta migliore potrebbe essere eliminare del tutto la macro ed inserire tutto il codice necessario per il conteggio all'interno di Workbook_BeforePrint.
>_
di Zer0Kelvin data: 15/10/2017 11:57:34
Ciao Giuseppe.
Hai risposto mentre stavo scrivendo...
Dici di aver inserito la macro in una cella, ma questo non è possibile (Non con versioni recenti di Excel, almeno.); posso immaginare che tu abbia creato un pulsante collegato alla macro in questione.
Se chiarisci meglio il procedimento che usi adesso potremo fornire la soluzione adatta al tuo problema.
Non spaventarti per quello che abbiamo scritto finora; potremo fornire informazioni più dettagliate che non richiedono alcuna competenza particolare.
Devi solo spiegare bene il procedimento che usi attualmente e quello che vuoi ottenere (anche se sembra gia chiaro).
di Giuseppe (utente non iscritto) data: 15/10/2017 12:02:25
allora mi spiego meglio, io ho creato un modulo d'iscrizione per un'associazione, il mio scopo sarebbe quello di mettere un codice numerico che aumenta ad ogni stampa d'iscrizione, tramite la macro funziona benissimo ma solo se sono io a farlo che so i passaggi da fare, mentre se dovessero stamparlo altri del direttivo lo farebbero solo dal pulsante stampa e in qul modo la numerazione resta ferma e anche nella stampa di più copie ci sarebbe lo stesso numero, quindi vorrei che non appena si apra il file appaia direttamente la schermata della macro dove inserire il numero di copie e si dia ok...spero di essere stato chiaro..
di Giuseppe (utente non iscritto) data: 15/10/2017 12:15:11
intendevo abbinata ad una casella A1 per esempio, ti mando in allegato un file generico come dimostrazione, avvia la macro e si aprirà una finestra,inserisci un numero di copie e vedrai che il numero nella cella A1 cambia e anche nelle stampe il numero sarà progressivo, io vorrei che quella finestra che si apre dopo aver avviato la macro si avvi in automatico all'aperura del file
di Zer0Kelvin data: 15/10/2017 13:03:49
Bene, in tal caso è inutile cercare complicazioni, vuoi che la macro venga eseguita ad ogni apertura del file e la soluzione proposta da Patel è idonea allo scopo.
Tutto quello che devi fare è:
-accedere al visual basic con la combinazione di tasti ALT F11
-a sinistra trovi l'elenco dei fogli, fai doppio click sull'ultima voce dell'elenco (Questa_cartella_di_lavoro oppure ThisWorkbook nella versione inglese).
-copia il codice postato da Patel ed incollalo nella finestra vuota che hai nella parte destra della schermata.
-salva e chiudi il file
La macro verrà eseguita ad ogni apertura del file.
di Giuseppe (utente non iscritto) data: 15/10/2017 13:21:31
Perfetto...sembra funzionare tutto...grazie mille per il vostro aiuto
Vuoi Approfondire?