Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Ricevute stampabili che riportano i dati di un foglio excel

Ultimo Aggiornamento: 09/10/2018 23:19
Post: 1
Registrato il: 08/10/2018
Città: TORINO
Età: 55
Utente Junior
2016
OFFLINE
08/10/2018 12:42

Il mio problema si compone di diversi punti che vado ad elencare:
1) I dati provengono da un gestionale che genera un file .CSV;
2) Importare il file CSV in un foglio excel;
3) I dati del foglio (non tutti) devono essere riportati in un maschera per ricevute;
4) ci deve essere l'opportunita' di poter stampare le ricevute dei vari clienti, selezionandoli per nome dal foglio in cui ho importato il CSV

Grazie per l'aiuto

Massimo
Post: 3.956
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
08/10/2018 16:35

Ciao Massimo

Nom me ne volere ma a me sembra che la tua sia più la commissione di un lavoro che una domanda fatta su di un forum.

Tu che cosa hai fatto per (quantomeno) affrontare il problema?

Quali sono le specifiche difficoltà che incontri e su quali punti ti blocchi?

Se ci dici quali sono possiamo vedere di aiutarti.

Alfredo
Post: 1
Registrato il: 08/10/2018
Città: TORINO
Età: 55
Utente Junior
2016
OFFLINE
08/10/2018 16:48

La mia domanda è dettata dalla necessità di generare delle ricevute da un file .csv che proviene da un gestionale e che riporta un'anagrafica dei clienti

i dati sono
NOME
INTESTATARIO
C.F.
P.IVA.
INDIRIZZO
CITTA'
PROVINCIA
CAUSALE DELLA RICEVUTA
IMPORTO

io ho un file excel con un modello di ricevuta (2 ricevute per foglio A4) che si autocompila nel momento che scelgo manualmente l'intestatario (da un elenco a cascata posto nella ricevuta in cui scelgo il nome) e sempre manualmente inserisco per ognuno l'importo, ma io ho la necessità che il programma peschi automaticamente i nomi degli intestatari e compili tutti gli altri campi di conseguenza, generandomi N ricevute corrispondenti agli N intestatari, senza che debba compilare e procedere alla stampa 2 ricevute alla volta.


Post: 3.957
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
08/10/2018 16:56

Ma per la compilazione degli altri campi non ti basterebbe un CERCA.VERT()

Perchè non puoi usare questa funzione?

Alfredo
Post: 3.958
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
08/10/2018 16:59

Se non dovesse essere così allega i due file di esempio (CSV e quello di Excel con le ricevute)

Alfredo
Post: 2
Registrato il: 08/10/2018
Città: TORINO
Età: 55
Utente Junior
2016
OFFLINE
08/10/2018 17:02

posso usare un cerca vert, certo! infatti lo uso e compilo cosa voglio. ma posso farlo solo se copio/incollo le ricevute una per una e poi procedo a cambiare le funzioni nei vari campi. Io ho necessita' che invece le ricevute vengano generate automaticamente per tutti i clienti una dopo l'altra, in maniera automatica.

Immagina un bollettino postale... ecco.. io impostato il primo bollettino con le diciture, i campi, ecc., ho bisogno che mettendo in un altro foglio una lista di intestatari, lui mi compili e generi tutti i bollettini di tutti gli intestatari
Post: 3.959
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
08/10/2018 17:05

Ma se non metti i file di esempio di che parliamo?

Alfredo
Post: 3
Registrato il: 08/10/2018
Città: TORINO
Età: 55
Utente Junior
2016
OFFLINE
08/10/2018 17:22

ecco il file

https://drive.google.com/open?id=1J6HmyZsQnoU8iA3y7s0f8UrQpzHeidpn

il problema è che, come vedrai, sul foglio ricevute ci sono n. 2 ricevute (che stampate stanno in un A4) e ci sono dei campi da compilare a mano (importo) e altri che selezionandoli porta all'autocompilazione degli altri prendendoli dal foglio 2. Bene... io vorrei che nel foglio ricevute si autogenerassero N ricevute per tutti gli intestatari del foglio 2 con tutti i campi autocompilati.
Post: 3.960
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
09/10/2018 14:07

Ciao MaxFantino

Nel file che hai allegato (che tra l'altro ho creato io per un altro utente di altro forum) non c'è bisogno di creare n ricevute per quanti sono i soci; sarebbe un lavoro complicato ed inutile.

Bastano le due ricevute già presenti.

La prima cosa che devi fare è aggiungere una nuova colonna a sinistra sul foglio2 ed in essa metterai un progressivo (1, 2, 3 etc.)

Inserisci anche in colonna H la quota versata da ciascun socio.

Quindi se il tuo obiettivo è stampare tutte le ricevute puoi eseguire questa macro

vb
Sub StampaRicevute()
Dim i As Integer
Dim ur As Long
ur = Sheets("Foglio2").Cells(Rows.Count, 1).End(xlUp).Row
Application.ScreenUpdating = False
For i = 1 To 10 Step 2
    Sheets("ricevute").Range("j6").Value = WorksheetFunction.VLookup(i, Sheets("Foglio2").Range("a1:h" & ur), 8, False)
    Sheets("ricevute").Range("j34").Value = WorksheetFunction.VLookup(i + 1, Sheets("Foglio2").Range("a1:h" & ur), 8, False)
    Sheets("ricevute").Range("c9").Value = WorksheetFunction.VLookup(i, Sheets("Foglio2").Range("a1:h" & ur), 3, False)
    Sheets("ricevute").Range("c37").Value = WorksheetFunction.VLookup(i + 1, Sheets("Foglio2").Range("a1:h" & ur), 3, False)
    Sheets("ricevute").Range("d25").Value = Date
    Sheets("ricevute").Range("d53").Value = Date
    ActiveSheet.PrintPreview
Next i
Range("j6:k6").ClearContents
Range("J34:k34").ClearContents
Range("c9:h9").ClearContents
Range("C37:h37").ClearContents
Range("d25:e25").ClearContents
Range("d53:e53").ClearContents
Application.ScreenUpdating = True
End Sub


Attualmente la macro ti da solo l'anteprima di stampa delle ricevute.

Se vuoi stampare devi cambiare questa istruzione

vb
ActiveSheet.PrintPreview


in

vb
ActiveSheet.PrintOut


Ti allego anche il file.
[Modificato da alfrimpa 09/10/2018 14:18]

Alfredo
Post: 4
Registrato il: 08/10/2018
Città: TORINO
Età: 55
Utente Junior
2016
OFFLINE
09/10/2018 16:55

Perfetto Alfredo! Grazie.

Ora rimane solo da perfezionare 3 cosette che non ho capito (sono una capra in VB [SM=x423021] ;)):

1) nella macro la compilazione vedo che viene fatta per 10 (nel foglio infatti 10 sono gli intestatari), ma se fossero n? Nel senso è possibile inserire un'istruzione che le stampi tutte a prescindere da quante sono e senza modificare ogni volta la macro?

2) Nel preview di stampa si vedono solo le prime 2 ricevute, ma nella stampa cosa succede? le stampa tutte e 10 ma fa il preview solo delle prime 2?

3) se nel foglio ricevute rinomino il tasto "stampa ricevute" in "anteprima di stampa" e creo un altro tasto (modificando l'istruzione che mi dicevi) "stampa ricevute", posso? Naturalmente col tasto dell'anteprima occorrerebbe, come detto al punto 2), vedere tutte le ricevute e non solo le prime 2.

Grazie ancora.

Post: 3.962
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
09/10/2018 19:24

Rispondo alle tue domande.



nella macro la compilazione vedo che viene fatta per 10 (nel foglio infatti 10 sono gli intestatari), ma se fossero n? Nel senso è possibile inserire un'istruzione che le stampi tutte a prescindere da quante sono e senza modificare ogni volta la macro?



La macro è stata scritta affinchè funzioni a prescindere dal numero dei record presenti sul foglio2.


Nel preview di stampa si vedono solo le prime 2 ricevute, ma nella stampa cosa succede? le stampa tutte e 10 ma fa il preview solo delle prime 2?



Non è così. Se clicchi di volta in volta sul pulsante Chiudi Anteprima di stampa (quello rosso con la "X") le ricevute le vedrai tutte.


se nel foglio ricevute rinomino il tasto "stampa ricevute" in "anteprima di stampa" e creo un altro tasto (modificando l'istruzione che mi dicevi) "stampa ricevute", posso? Naturalmente col tasto dell'anteprima occorrerebbe, come detto al punto 2), vedere tutte le ricevute e non solo le prime 2.



Puoi farlo tranquillamente basta che modifichi il codice delle macro assegnate ai pulsanti: uno per l'anteprima l'altro per la stampa.



Alfredo
Post: 5
Registrato il: 08/10/2018
Città: TORINO
Età: 55
Utente Junior
2016
OFFLINE
09/10/2018 21:05

ok, hai ragione, ho visto meglio e in effetti funziona. Manca allora il codice per inserire il numero della ricevuta e quello per inserire l'importo con i centesimi, tipo 10,30.
Post: 3.966
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
09/10/2018 23:19

Per i centesimi provo a vedere domani.

Per i numeri delle ricevute dovresti essere tu a dire come questi devono essere determinati.

Alfredo
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 01:21. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com