| | Post: 1 | Registrato il: 30/07/2018
| Città: IMPERIA | Età: 52 | Utente Junior | excel 2007 | | OFFLINE | |
|
30/07/2018 18:34 | |
Buongiorno.
Cortesemente, avrei bisogno un aiuto per scrivere una macro che in una cella del foglio 1 inserisca in successione i numeri da 1 a 150 e quindi stampi il foglio 3, che sarà di volta in volta modificato con il "progredire" dei numeri nel foglio 1.
Grazie a coloro i quali potranno darmi qualche suggerimento. |
|
| | Post: 3.105 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
30/07/2018 18:58 | |
Buona sera, Bonellopseudo; la tua richiesta è orfana di alcuni dettagli. - In quali Celle vengono inseriti i numeri da 1 a 150? - Il "Foglio3" deve essere stampato ogni volta che viene inserito un nuovo numero? Chiariti questi punti, si potrebbe pensare ad un "Evento" che intervenga in modo appropriato. P.s. A margine di quanto sopra, visto che questo è il tuo primo post, nel darti il benvenuto, ti ricordo che è buona norma allegare un File, senza Dati sensibili, con alcuni Record significativi già inseriti e chiarissi ciò che desideri ottenere.Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 1 | Registrato il: 30/07/2018
| Città: IMPERIA | Età: 52 | Utente Junior | excel 2007 | | OFFLINE | |
|
30/07/2018 19:29 | |
Mi scuso per il disguido.
Nella cella D4 del foglio 1 "Gestione", dovrebbero susseguirsi progressivamente i numeri da 1 a 150 e, per ogni numero che appare in D4, si dovrebbe stampare il foglio 3 "Ricevuta".
Quindi, 150 stampe in tutto, in base alla successione automatica dei numeri.
Spero di aver chiarito e grazie per la disponibilità.
|
| | Post: 3.106 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
30/07/2018 20:44 | |
Buona sera, Bonellopseudo; grazie della tua attenzione. Un'ultima domanda, ho notato che il File in allegato ha estensione .xls, quindi hai utilizzato Excel 2000 o Excel 2003 mentre nel tuo profilo dichiari Excel 2007. Qual'è la versione di Excel che intendi utilizzare? Chiarito quest'ultimo punto, potrei pensare al'Evento "Worksheet_Change" che intervenga in modo appropriato. Buona serata. Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 2 | Registrato il: 30/07/2018
| Città: IMPERIA | Età: 52 | Utente Junior | excel 2007 | | OFFLINE | |
|
30/07/2018 20:54 | |
Sì, in effetti il file è stato creato con una versione di excel precedente, ma di solito utilizzo la 2007 e vorrei utilizzarla anche stavolta, se possibile.
Grazie |
| | Post: 3.107 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
31/07/2018 06:51 | |
Buona giornata, Bonellopseudo;
potresti provare a modificare il tuo Codice VBA "stRicevuta" più o meno in questo modo:
Sub stRicevuta()
'
' stRicevuta Macro
' Stampa Ricevuta
'
' Scelta rapida da tastiera: CTRL+r
'
For x = 1 To 150
Cells(4, 4).Value = x
Sheets("Ricevuta").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("Gestione").Select
Next x
End Sub
Dovrebbe funzionare, anche se personalmente avrei previsto due Celle nelle quali indicare la Ricevuta dalla quale partire e l'ultima Ricevuta da stampare.
Voglio dire, pensando di utilizzare, nel Foglio di lavoro "Gestione" le celle:
- D3 nella quale indicare la prima "Ricevuta" da stampare
e
- E3 nella quale indicare l'ultima "Ricevuta" da stampare
volendo stampare tutte le ricevute dalla 1 alla 150 in:
- D3 scriverai 1
e
- E3 scriverai 150
Supponendo di dover ristampare solo le ricevute 3, 4 e 5 in:
- D3 scriverai 3
e
- E3 scriverai 5
Il Codice VBA andrebbe modificato di conseguenza evitando, in una eventuale ristampa, di stampare anche le rivevute che non servono.
A disposizione.
Buon Lavoro.
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 3 | Registrato il: 30/07/2018
| Città: IMPERIA | Età: 52 | Utente Junior | excel 2007 | | OFFLINE | |
|
31/07/2018 10:04 | |
Grazie Giuseppe, funziona perfettamente !
Credi che sarebbe possibile fare in modo che il numero massimo (150) corrisponda al numero più grande della colonna A del foglio ATLETI (nell'esempio avrebbe dovuto corrispondere a 3, che poteva leggersi sulla riga 9 del foglio ATLETI)?
Molte grazie |
| | Post: 3.108 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
31/07/2018 11:41 | |
@Bonellopseudo, chiede:
Credi che sarebbe possibile fare in modo che il numero massimo (150) corrisponda al numero più grande della colonna A del foglio ATLETI (nell'esempio avrebbe dovuto corrispondere a 3, che poteva leggersi sulla riga 9 del foglio ATLETI)?
Buona giornata, Bonellopseudo;
ci possono essere diversi sistemi, uno di questi potrebbe essere:
Sub stRicevuta()
'
' stRicevuta Macro
' Stampa Ricevuta
'
' Scelta rapida da tastiera: CTRL+r
'
With Worksheets("ATLETI")
For x = 1 To .Range("A" & .Rows.Count).End(xlUp).Row - 6
Cells(4, 4).Value = x
Sheets("Ricevuta").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("Gestione").Select
Next x
End With
End Sub
Sicuramente non è il modo più "elegante" ma dovrebbe funzionare.
A disposizione.
Buon Lavoro.
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 4 | Registrato il: 30/07/2018
| Città: IMPERIA | Età: 52 | Utente Junior | excel 2007 | | OFFLINE | |
|
01/08/2018 23:04 | |
Grazie Giuseppe !!
Funziona (quasi) perfettamente.
Non capisco per quale motivo, ma non stampa in corrispondenza dell'elemento n.1 (Foglio Atleti cella A7, valore 1), che comunque riesco a stampare manualmente.
Per il resto funziona come richiesto.
Grazie ancora. |
| | Post: 3.111 | Registrato il: 03/04/2013
| Utente Master | Excel 2000 - 2013 | | OFFLINE | |
|
02/08/2018 00:28 | |
@Bonellopseudo, scrive:
Funziona (quasi) perfettamente. Non capisco per quale motivo, ma non stampa in corrispondenza dell'elemento n.1 (Foglio Atleti cella A7, valore 1), che comunque riesco a stampare manualmente. Per il resto funziona come richiesto.
Buona giornata, Bonellopseudo; nel mio lessico il "quasi" non esiste; fammi capire meglio il problema e vedo quello che si può fare. I miei test li ho condotti sul File allegato in #3, se è cambiata la struttura allega il nuovo File; grazie. A disposizione. Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 5 | Registrato il: 30/07/2018
| Città: IMPERIA | Età: 52 | Utente Junior | excel 2007 | | OFFLINE | |
|
02/08/2018 10:35 | |
Ciao Giuseppe.
Stamattina ho fatto dieci test scaricando anch'io il file da me stesso allegato.
In nove casi ha funzionato perfettamente; in un caso invece no.
Mi spiego: avevo quindici nominativi, numerati progressivamente nella colonna A del foglio Atleti; mi aspettavo quindi che stampasse quindici ricevute iniziando dalla prima fino alla quindicesima.
Nove volte la macro ha funzionato, la decima ha stampato due volte la ricevuta abbinata al quindicesimo nominativo (prima e ultima stampa) e non quella abbinata al primo.
A parte questa "stranezza", ribadisco che funziona bene e ti ringrazio molto perché hai semplificato il mio lavoro
|
|
|