Condividi:        

macro che stampa celle selezionate

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 che stampa celle selezionate

Postdi lord14 » 20/11/17 09:21

salve a tutti ,sono nuovo e spero di non aver sbagliato ad inserire questa domanda...
preticamente ho creato un foglio di lavoro dove iserisco vari dati, tra i quali data e numero di ordine di lavoro..
questi dati tramite una macro registrata , premendo il pulsante vengono riportati in un altro foglio che è il rapportino finale da stampare.
la domanda è questa:
se io in un giorno ho due ordini differenti,filtrando per ordine, sul rapportino mi vengono copiate sempre e solo le celle iniziali,anche se non selezionate.
come faccio per far inserire nel rapportino le voci che seleziono all'occorrenza?
spero di essermi spiegato bene...
allego file tra poco se ci riesco!!!!
lord14
Utente Junior
 
Post: 10
Iscritto il: 17/11/17 14:29

Sponsor
 

Re: macro che stampa celle selezionate

Postdi lord14 » 20/11/17 09:56

nessuno sa aiutarmi???
cmq non riesco ad allegare il file, scrivo di seguito per far comprendere meglio:

foglio 1 (data)
foglio 2 (rapportino)

sul foglio uno nella cella A! c'è una data da copiare nella posizione B1 del foglio 2
con la macro funziona

nel momento in cui vado a fare una selezione per data sul foglio 1 e devo copiare ad esmpio la cella A13, la macro mi copia sempre la cella A1 sul foglio 2

come fare?
lord14
Utente Junior
 
Post: 10
Iscritto il: 17/11/17 14:29

Re: macro che stampa celle selezionate

Postdi alfrimpa » 20/11/17 12:14

Scusa Lord14 ma non ti sembra fuori luogo sollecitare una risposta a meno di un'ora dalla richiesta iniziale?

Allega un file di esempio con i dati, spiegazione e risultato desiderato inserito a mano; nel file inserisci anche la macro che hai attualmente.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro che stampa celle selezionate

Postdi wallace&gromit » 20/11/17 12:21

intanto, come informazione, sappi che la macro inserisce sempre il riferimento assoluto della cella (tipo A1), a te invece interessa la posizione in cui ti trovi con la cella attiva, quindi dovrai sostituire l'indicazione Range("A1") con ActiveCell
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: macro che stampa celle selezionate

Postdi lord14 » 20/11/17 12:41

scusate se ho preteso subito la risp!!!
vorrei allegare il foglio excell ma non so come fare...cmq di seguito incollo la macro registrata

Sub Macro()
'
' Macro Macro
'

'
Range("O4").Select
Selection.Copy
Sheets("Rapp Enel").Select
ActiveWindow.SmallScroll Down:=-12
Range("X2:Y2").Select
ActiveSheet.Paste
Sheets("1").Select
Range("P4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("AB2:AE2").Select
ActiveSheet.Paste
Sheets("1").Select
Range("Q4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("AC5:AF5").Select
ActiveSheet.Paste
Sheets("1").Select
Range("R4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("M8:AE8").Select
ActiveSheet.Paste
Sheets("1").Select
Range("S4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("M9:R9").Select
ActiveSheet.Paste
Sheets("1").Select
ActiveWindow.SmallScroll ToRight:=15
Range("T4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("X9:Z9").Select
ActiveSheet.Paste
Sheets("1").Select
Range("U4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("AB9:AE9").Select
ActiveSheet.Paste
Sheets("1").Select
Range("V4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("P10:AE10").Select
ActiveSheet.Paste
Sheets("1").Select
Range("W4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("Q11:AE11").Select
ActiveSheet.Paste
Sheets("1").Select
Range("X4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("M12:O12").Select
ActiveSheet.Paste
Sheets("1").Select
Range("Y4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("Q12").Select
ActiveSheet.Paste
Sheets("1").Select
Range("Z4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("O13:Q13").Select
ActiveSheet.Paste
Sheets("1").Select
Range("AA4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("Z13:AA13").Select
ActiveSheet.Paste
Sheets("1").Select
Range("AB4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("P15:T15").Select
ActiveSheet.Paste
Sheets("1").Select
Range("AC4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("P16:T16").Select
ActiveSheet.Paste
Sheets("1").Select
Range("AD4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("P17:T17").Select
ActiveSheet.Paste
Sheets("1").Select
ActiveWindow.SmallScroll ToRight:=9
Range("AE4:AE13").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("K20:K30").Select
ActiveSheet.Paste
Sheets("1").Select
Range("AF4:AF13").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("M20:M30").Select
ActiveSheet.Paste
Sheets("1").Select
Range("AG4:AG13").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("Z20:Z30").Select
ActiveSheet.Paste
Sheets("1").Select
Range("AH4:AH13").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
Range("AD20:AD30").Select
ActiveSheet.Paste
Sheets("1").Select
Range("AI4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Rapp Enel").Select
ActiveWindow.SmallScroll Down:=6
Range("K33:AF35").Select
ActiveSheet.Paste
Sheets("1").Select
ActiveWindow.SmallScroll ToRight:=-19
Range("M6").Select
End Sub
lord14
Utente Junior
 
Post: 10
Iscritto il: 17/11/17 14:29

Re: macro che stampa celle selezionate

Postdi alfrimpa » 20/11/17 12:47

Per come allegare il file guarda qui

viewtopic.php?f=26&t=103893&p=605487#p605487

Sul file inserisci a mano il risultato desiderato.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro che stampa celle selezionate

Postdi lord14 » 20/11/17 13:03

lord14
Utente Junior
 
Post: 10
Iscritto il: 17/11/17 14:29

Re: macro che stampa celle selezionate

Postdi lord14 » 20/11/17 13:04

OK DOVREI AVERLO CARICATO!
lord14
Utente Junior
 
Post: 10
Iscritto il: 17/11/17 14:29

Re: macro che stampa celle selezionate

Postdi alfrimpa » 20/11/17 13:50

Onestamente non ho capito nulla.

I dati devono essere copiati dal foglio 1 al foglio Rapp Enel?

E quali sono questi dati?

Non riesco a capire qual è il risultato che vuoi ottenere.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro che stampa celle selezionate

Postdi lord14 » 20/11/17 13:57

esatto,i dati dal foglio 1, premendo il tasto stampa, dovrebbero essere inseriti sul foglio rapp enel, solo che se attivo un filtro per selezionare una data differente mi riporta sempre i dati della fila 4, ovvero o4,p4,q4,r4...
lord14
Utente Junior
 
Post: 10
Iscritto il: 17/11/17 14:29

Re: macro che stampa celle selezionate

Postdi lord14 » 20/11/17 13:59

i dati da copiare sono tutti quelli della riga 3, dalla colonna o in poi fino aq fine tabella..
sei riuscito a scaricare il file allegato?
lord14
Utente Junior
 
Post: 10
Iscritto il: 17/11/17 14:29

Re: macro che stampa celle selezionate

Postdi alfrimpa » 20/11/17 14:15

Non sono per nulla sicuro di aver capito bene ma prova questa macro

Codice: Seleziona tutto
Sub macrorapporto()
Dim ur As Long
Dim lr As Long
Dim rng As Range
Dim cel As Range
ur = Sheets("1").Cells(Rows.Count, "AE").End(xlUp).Row
Set rng = Sheets("1").Range("ae4:ae" & ur)
For Each cel In rng
    lr = Sheets("Rapp Enel").Range("K18").End(xlDown).Row
    If cel.Value <> "" Then
        Sheets("Rapp Enel").Cells(lr + 1, "K").Value = cel.Value
        Sheets("Rapp Enel").Cells(lr + 1, "M").Value = cel.Offset(0, 1).Value
        Sheets("Rapp Enel").Cells(lr + 1, "z").Value = cel.Offset(0, 2).Value
        Sheets("Rapp Enel").Cells(lr + 1, "ad").Value = cel.Offset(0, 3).Value
    End If
Next cel
End Sub
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro che stampa celle selezionate

Postdi lord14 » 20/11/17 14:27

grazie per la risp
qualcosa cambia inserendo la tua macro,ma non proprio come dovrebbe essere...
se hai aperto il file che ho messo in allegato,trovi delle voci nella riga 3 colorata di verde
per tutte quelle voci,la riga 4 deve essere copiata sul foglio rapp enel ciascuna nella propria posizione
solo dalla colonna AE alla coilonna AH ci sono più righe da copiare e incollare nel rapp enel proprio come è il foglio da stapare rapp enel
il problema nasce nel momento in cui io filtro una data differente a quella scritta nella cella O4, perchè mi riporta sempre quella, anche se non selezionata
lord14
Utente Junior
 
Post: 10
Iscritto il: 17/11/17 14:29

Re: macro che stampa celle selezionate

Postdi alfrimpa » 20/11/17 14:43

Tu nel foglio 1 hai compilato solo la riga 14.

Inserisci sul foglio 1 più record (compilati su tutte le colonne) e sulla base di questi mostra come deve essere compilato il foglio rapp Enel.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro che stampa celle selezionate

Postdi lord14 » 20/11/17 15:59

io ho inserito solo la riga 14 proprio per provare a stampare usando il filtro ed il pulsante stampa
lord14
Utente Junior
 
Post: 10
Iscritto il: 17/11/17 14:29

Re: macro che stampa celle selezionate

Postdi alfrimpa » 20/11/17 16:11

Ma se non dai una casistica completa e realistica dei dati è difficile dare riposte complete.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: macro che stampa celle selezionate

Postdi Anthony47 » 20/11/17 20:14

Vediamo se riusciamo a semplificarti la vita...
Ho capito che ti piacerebbe posizionare sul foglio "Rapp Enel" dei dati prelevati da foglio "1", di una riga a piacere, che magari e' in un elenco soggetto a filtro e ordinamento.
Supponiamo che ti basti poter selezionare la riga desiderata e avere quella riga riportata sul "Rapp Enel".
Lavoriamo sul foglio "Rapp Enel"
Per cominciare in A2 scrivici 14 (e' l'unica riga compilata di "1" e la useremo come collaudo di quel che andiamo a fare).
Dalla macro (che alla fine sara' inutile) ricavo che il contenuto di 1-colonna O va nelle celle unite X2:Y2 di "Rapp Enel"; seleziona X2:Y2 e scrivici la formula
Codice: Seleziona tutto
=SE(SCARTO('1'!O1;A2-1;0)<>"";SCARTO('1'!O1;A2-1;0);"")
Formatta la cella come meglio ti piace

Il contenuto di colonna P va in "AB2:AE2"; seleziona "AB2:AE2" e scrivici la formula
Codice: Seleziona tutto
=SE(SCARTO('1'!P1;A2-1;0)<>"";SCARTO('1'!P1;A2-1;0);"")
NOTA: e' la stessa formula di prima, solo si sostituisce O con P
Formatta la cella come meglio ti piace

Immagino che hai compreso il concetto e sei in grado di scrivere, nelle altre celle del rapportino da compilare, le altre formule tutte analoghe a queste di esempio, in modo da popolare il rapportino con tutte le informazioni da prelevare su un servizio descritto in foglio "1"


Prova a modificare il contenuto di A2 con altro numero, e vedrai che il rapportino cambia automaticamente.

Si tratta ora di individuare un modo con cui, da foglio "1", si sceglie quale servizio compilare e stampare. Per questo ti propongo di usare il "doppioclick" sulla riga prescelta; cioe' basta fare doppioclick su una riga, ad esempio 5, per compilare il rapportino con i dati della riga 5.
Per questo bastera' riuscire a scrivere 5 sulla cella A2 di "Rapp Enel"
Per ottenere cio':
-tasto dx sul tab col nome foglio "1"; scegli Visualizza codice
-copia questo codice e incollalo nel frame destro della finestra che si e' aperta:
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim CkArea As String
'
CkArea = "O:W"
If Not Application.Intersect(Target, Range(CkArea)) Is Nothing Then
    Sheets("Rapp Enel").Range("A2") = Target.Row
    Cancel = True
    Beep
End If
End Sub

That's all.

In questo modo quando fai doppioclick sul una riga del foglio "1", nelle colonne O:W, il rapportino risultera' compilato con i dati selezionati. Un "beep" conferma l'operazione.

Ti va bene?
Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19215
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: macro che stampa celle selezionate

Postdi lord14 » 21/11/17 08:26

sei un grande e ti ringrazio infinitamente!!!!
lord14
Utente Junior
 
Post: 10
Iscritto il: 17/11/17 14:29


Torna a Applicazioni Office Windows


Topic correlati a "macro che stampa celle selezionate":


Chi c’è in linea

Visitano il forum: Nessuno e 25 ospiti