Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro per copia incolla stampa da range variabile

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

Macro per copia incolla stampa da range variabile

Postdi stemalti » 16/02/13 03:01

Ciao a tutti
grazie in anticipo a chi mi darà aiuto.
Ho la necessita di creare delle specie di etichette in excel (non posso utilizzare word stampa unione).
mi sono creato il mio bel layout con dei collegamenti mi prendo le informazioni che mi servono, però non riesco assolutamente a stampare le etichette con numerazione progressive.
Infatti devo lanciare la stampa indicando quante etichette devo stampare e da che numero devo partire, qui non riesco proprio ad andare avanti.
Sarebbe già ottimo riuscire a lanciare la stampa con numerazione progressiva il resto pazienza.
avevo in mente di creare una lista di numeri sulla quale appoggiarmi ma anche qui ho problemi.

Sheets("inserimento dati").Select
Value = Cells(5, 2) -----------cella dove inserisco numero etichette da stampare
For i = 1 To Value
Cells(i, 7) = i -----fin qui funziona e mi crea un elenco di numeri in sequenza nella colonna G, dopo il buio
Next
For Each cell In Range("G1:G" & Range("B5")) --------qui ho l'elenco dei numeri progressivi da usare nelle etichette
ActiveCell.Copy -----praticamente dovrei copiare ed incollare stampare uno per volta i valori delle del range creato
Sheets("USCITA").Activate --------------
Range("C14").Select -----------------------------------C14 è la cella dove vado ad incollare i singoli valori e stampo
Selection.Paste
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next
End Sub

Aiuto Grazie
Stefano M
stemalti
Newbie
 
Post: 4
Iscritto il: 16/02/13 02:39

Sponsor
 

Re: Macro per copia incolla stampa da range variabile

Postdi Anthony47 » 16/02/13 03:21

Ciao stemalti, benvenuto nel forum.
Ma parli di etichettoni in formto A4 (o comunque del formato che sulla tua stampante corrisponde a una pagina intera), o sono fogli con etichette multiple?
Creare un elenco in G1:Gx di un altro foglio e' necessario, o basta popolare C14 di USCITA prima di andare in stampa?

Nel caso si tratti di "etichettoni" io ti direi di usare qualcosa come
Codice: Seleziona tutto
myVal= Cells(5, 2)   'cella dove inserisco numero etichette da stampare
sheets("USCITA").Select
For I=1 to myVal
  Range("C14").value=I
  ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next
pero' non so dove e come compili le altre cose da stampare, ne' se e' giusto che la numerazione sia da 1 a quanto hai scritto in B2 piuttosto che un conteggio a partire da una base [tipo For I=Base to (Base + myVal)]

Vedi se tra queste cose trovi uno spunto...

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per copia incolla stampa da range variabile

Postdi stemalti » 16/02/13 12:38

Anthony47 ha scritto:Ciao stemalti, benvenuto nel forum.
Ma parli di etichettoni in formto A4 (o comunque del formato che sulla tua stampante corrisponde a una pagina intera), o sono fogli con etichette multiple?
Creare un elenco in G1:Gx di un altro foglio e' necessario, o basta popolare C14 di USCITA prima di andare in stampa?

Nel caso si tratti di "etichettoni" io ti direi di usare qualcosa come
Codice: Seleziona tutto
myVal= Cells(5, 2)   'cella dove inserisco numero etichette da stampare
sheets("USCITA").Select
For I=1 to myVal
  Range("C14").value=I
  ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next
pero' non so dove e come compili le altre cose da stampare, ne' se e' giusto che la numerazione sia da 1 a quanto hai scritto in B2 piuttosto che un conteggio a partire da una base [tipo For I=Base to (Base + myVal)]

Vedi se tra queste cose trovi uno spunto...

Ciao



Ottimo spunto sembra funzionare alla grande per la stampa partendo dal n°1, però devo provarlo lunedì al lavoro stampando un pò di fogli in A4.
Per quanto riguarda la numerazione, solitamente si parte da n°1, il numero di etichette varia di volta in volta.
Praticamente ho creato un file con 2 pagine "inserimento dati" dove compilo le informazioni che andranno sulle etichette, nella cella B5 indico il numero di etichette da stampare, mentre nella cella B6 dovrei indicare la numerazione dalla quale partire, potrei avere la necessita di partire dalla n° 80 invece che dalla n°1. Mentre la pagina "Uscita" è l'etichetta vera e propia da stampare in formato A4, dove l'unica variabile da etichetta a etichetta è il numero progressivo, metre gi altri campi li prendo facendo un semplice collegamento fra le due pagine. Purtroppo non conosco l'istruzione base to che mi suggerisci, ma conto di documentarmi.

Intanto grazie mi hai risolto gran parte del problema
stemalti
Newbie
 
Post: 4
Iscritto il: 16/02/13 02:39

Re: Macro per copia incolla stampa da range variabile

Postdi Anthony47 » 16/02/13 13:35

tipo For I=Base to (Base + myVal)

Se la base (numero iniziale) e' in B6 del foglio di partenza allora praticamente sara'
Codice: Seleziona tutto
myVal= Cells(5, 2)   'cella dove inserisco numero etichette da stampare
myBase=Range("B6").Value
sheets("USCITA").Select
For I=myBase to (myBase+myVal-1)
  Range("C14").value=I
  ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per copia incolla stampa da range variabile

Postdi stemalti » 17/02/13 14:30

Anthony47 ha scritto:
tipo For I=Base to (Base + myVal)

Se la base (numero iniziale) e' in B6 del foglio di partenza allora praticamente sara'
Codice: Seleziona tutto
myVal= Cells(5, 2)   'cella dove inserisco numero etichette da stampare
myBase=Range("B6").Value
sheets("USCITA").Select
For I=myBase to (myBase+myVal-1)
  Range("C14").value=I
  ActiveWindow.SelectedSheets.PrintOut Copies:=1
Next

Ciao


C'è poco da dire è quello che mi serviva grazie 1000
un saluto
stemalti
Newbie
 
Post: 4
Iscritto il: 16/02/13 02:39

Re: Macro per copia incolla stampa da range variabile

Postdi samd » 17/05/14 14:15

Ciao a tutti,

sto cercando di fare un file per la stampa di ricevute ma ho delle difficoltà che sono sicuro di superare col vostro aiuto :D

Nel foglio "INSERIMENTO DATI MULTIPLI" (intervallo B8:B307, le cui celle non sono necessariamente tutte valorizzate) scrivo dei codici che devono essere stampati ognuno su una propria ricevuta (foglio "STAMPA RICEVUTA"), quindi se ho 5 codici devo ottenere 5 diverse ricevute. Ogni codice scritto in "INSERIMENTO DATI MULTIPLI" confluisce nel foglio "STAMPA RICEVUTA" tramite collegamento alla cella B3 del foglio "INSERIMENTO SINGOLO" dove in pratica viene copiato/incollato direttamente.
Modificando la macro iniziale di stemalti, sono riuscito a far sì che mi si stampino tante ricevute quante sono le celle effettivamente piene ma purtroppo non vengono stampati i codici. In più, al termine dell'esecuzione della macro, nella cella B3 del foglio "INSERIMENTO SINGOLO" ritrovo sempre uno zero.
Riporto qui sotto la macro e vi ringrazio per l'aiuto:

Codice: Seleziona tutto
Sub stampamultipla()
Application.ScreenUpdating = False
On Error Resume Next
Sheets("INSERIMENTO DATI MULTIPLI").Select

For Each cell In Range("B8:B307")
If cell.Value <> "" Then
ActiveCell.Copy
Sheets("INSERIMENTO SINGOLO").Activate
Range("b3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Application.CutCopyMode = False
 Sheets("STAMPA RICEVUTA").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1

End If
Next
End Sub


Ciao,
samd
samd
Newbie
 
Post: 8
Iscritto il: 19/03/14 23:25

Re: Macro per copia incolla stampa da range variabile

Postdi Anthony47 » 20/05/14 12:48

Non devi usare ActiveCell.Copy ma Cell.copy, oppure puoi sostituire in blocco
ActiveCell.Copy
Sheets("INSERIMENTO SINGOLO").Activate
Range("b3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

con
Codice: Seleziona tutto
Sheets("INSERIMENTO SINGOLO").Range("B3").Value = Cell.Value

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro per copia incolla stampa da range variabile

Postdi samd » 20/05/14 19:56

Anthony,
semplicemente RISOLUTIVO :) , come sempre!
Il tuo intervento mi permette di superare il blocco che non mi faceva andare avanti!
Grazie mille, ancora una volta
samd
samd
Newbie
 
Post: 8
Iscritto il: 19/03/14 23:25


Torna a Applicazioni Office Windows


Topic correlati a "Macro per copia incolla stampa da range variabile":


Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti