Condividi:        

macro per stampare una valori di una riga

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 stampare una valori di una riga

Postdi ilpince » 06/11/14 17:03

Buon pomeriggio ragazzi, volevo chiedervi un informazione, che magari è piu semplice di quello che credo:
Nel mio foglio di lavoro "Contabilità" ho una lista di persone che hanno pagato per un determinato servizio e a cui dovrei fare una ricevuta, oltre ad esserci presente pure io , perchè in questo foglio segno tutta la contabilità, sia se MARIO ROSSI paga 2€, sia se IO pago 2€, rispettivamente segnati come "entrate" ed "uscite".
Sul come fare una ricevuta non ho problemi, ho un'altro foglio chiamato "modello ricevuta" che in automatico verrà modificato con le credenziali della persona che ha pagato (le credenziali sono segnate in un' altra pagina con anagrafica della persona in questione).
Il problema è che io su ogni riga volevo mettere un icona da premere che facesse partire la macro per la stampa della ricevuta solo della riga in cui si trova l'icona, come posso far si che se io premo un icona sulla cella, per esempio, "H10", deve essere stampata la ricevuta inerente ad i dati contenuti dalla cella "A10" alla cella "G10"?
Grazie Mille
Windows 7 + Pacchetto Microsoft Office 2007
ilpince
Utente Junior
 
Post: 17
Iscritto il: 25/07/14 14:54

Sponsor
 

Re: macro per stampare una valori di una riga

Postdi ricky53 » 06/11/14 19:44

Ciao,
con le icone ti complichi la vita.
Con la premessa che la stampa della ricevuta la stai già predisponendo e qui penso tu sia in grado di procedere ... io ti consiglio di utilizzare il "Doppio Click" (per esempio sulla cella "H10") e, all'attivarsi dell'evento associato al "Doppio Click", fai eseguire la tua macro di stampa della ricevuta che dovrai personalizzare per ricevere cosa stampare.
Codice: Seleziona tutto
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Count > 1 Then
        Exit Sub
    End If
    UR = Range("H" & Rows.Count).End(xlUp).Row
    If Not Intersect(Target, Range("H2:H" & UR)) Is Nothing Then
'        Call Stampa_Ricevuta(Target.Address(0, 0)) ' <<===== Qui devi aver già provveduto tu
        MsgBox "Chiamata alla stampa della ricevuta relativa alla cella " & Target.Address(0, 0), vbInformation ' <<==== ELIMINARE dopo le prove
    End If
    Cancel = True
End Sub


Ho ipotizzato di passare alla tua macro di stampa l'indirizzo della cella sulla quale hai fatto doppio click e della quale vuoi stampare i dati ...
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: macro per stampare una valori di una riga

Postdi ilpince » 19/11/14 17:20

Grazie mille ricky53 , come vedi, qui sotto ho riportato il codice che ho usato per la stampa e quello che mi hai messo tu per fare partire la stampa dal "Doppio Click". L'unica modifica che ho fatto al tuo codice è stato di mettere la lettera "i" anziche "h", perchè userò la colonna "i" come colonna per i "Doppi Click"... però non sono capace a fare partire la tua macro, non so come associarla alla mia ( nella mia utilizzo la "tua" variabile UR per recuperare i valori), cosa posso fare ? Grazie

Codice: Seleziona tutto
Public Sub Stampa_Ricevuta()
    Dim UR As Integer
    Dim v As Variant
    Dim W As Variant
    Dim X As Variant
   
Worksheets("CONTABILITÀ").Cells(UR, "A") = Worksheets("HOME").Cells(7, "H") + 1
Worksheets("MODELLO RICEVUTA").Cells(4, "U") = Worksheets("CONTABILITÀ").Cells(UR, "A")
Worksheets("MODELLO RICEVUTA").Cells(4, "AA") = Worksheets("CONTABILITÀ").Cells(UR, "D")
Worksheets("MODELLO RICEVUTA").Cells(11, "AU") = Worksheets("CONTABILITÀ").Cells(UR, "E")
v = Worksheets("CONTABILITÀ").Cells(UR, "B")
W = Worksheets("CONTABILITÀ").Cells(UR, "C")
X = v & (" ") & W
Worksheets("MODELLO RICEVUTA").Cells(10, "T") = X
Worksheets("MODELLO RICEVUTA").Cells(12, "W") = Worksheets(X).Cells(7, "E")
Worksheets("MODELLO RICEVUTA").Cells(20, "D") = Worksheets("CONTABILITÀ").Cells(UR, "G")
ActiveWindow.Worksheets("MODELLO RICEVUTA").PrintOut Copies:=1

End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Count > 1 Then
        Exit Sub
    End If
    UR = Range("I" & Rows.Count).End(xlUp).Row
    If Not Intersect(Target, Range("I2:I" & UR)) Is Nothing Then
        Call Stampa_Ricevuta(Target.Address(0, 0))
        MsgBox "Chiamata alla stampa della ricevuta relativa alla cella " & Target.Address(0, 0), vbInformation ' <<==== ELIMINARE dopo le prove
    End If
    Cancel = True
End Sub
Windows 7 + Pacchetto Microsoft Office 2007
ilpince
Utente Junior
 
Post: 17
Iscritto il: 25/07/14 14:54

Re: macro per stampare una valori di una riga

Postdi ilpince » 19/11/14 17:39

più che altro non so proprio come funzionino le macro da "doppio click", in questo campo sono veramente veramente indietro..chiedo scusa
Windows 7 + Pacchetto Microsoft Office 2007
ilpince
Utente Junior
 
Post: 17
Iscritto il: 25/07/14 14:54

Re: macro per stampare una valori di una riga

Postdi ricky53 » 19/11/14 17:58

Ciao,
il codice che ti ho inviato va copiato nel "Tuo Foglio"
1. posizionati con il mouse sul "Tab" con il nome del foglio
2 tasto destro
3. visualizza codice
4. copia il mio codice
5. cambia nella mia macro
Codice: Seleziona tutto
Call Stampa_Ricevuta(Target.Address(0, 0)

con
Codice: Seleziona tutto
Call Stampa_Ricevuta

6. fai doppio click su una cella della colonna "I" e ...


Importante: il tuo codice va inserito in un "Modulo" !
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: macro per stampare una valori di una riga

Postdi ilpince » 19/11/14 18:17

Grazie mille . Riguardando ai miei post di prima, credo di aver scritto una cavolata: se io ad esempio faccio doppio clic sulla cella "I8", io credevo che nella variabile UR comparisse il valore "8", invece non è così, soprattutto io poi volevo riutilizzare il valore UR per un altra macro, che però sarebbe comunque ripartito da zero. Quindi inutile. Sono arrivato alla conclusione che sarebbe stato meglio inserire direttamente la mia macro di stampa foglio all'interno della tua macro così da ovviare a problematiche. Però mi accorgo che in qualsiasi riga io prema, della colonna "I", UR è sempre = 102, e non so spiegarmi il motivo...
Windows 7 + Pacchetto Microsoft Office 2007
ilpince
Utente Junior
 
Post: 17
Iscritto il: 25/07/14 14:54

Re: macro per stampare una valori di una riga

Postdi ricky53 » 20/11/14 17:10

Ciao,
allega un file di esempio descrivendo cosa, alla luce delle tue considerazioni, ADESSO ti occorre !
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "macro per stampare una valori di una riga":


Chi c’è in linea

Visitano il forum: Nessuno e 136 ospiti

cron