Ho riportato il nuovo messaggio in coda alla discussione precedente.
Partendo dal file che hai allegato:
-la macro ti inserira' in A1 del foglio "Lettera" la partita Iva del cliente a cui va la lettera; devi usare questa informazione per inserire nel testo della lettere un vero nominativo e un vero indirizzo. Per questo devi usare formule con Cerca.Vert. Ad esempio, se in G1 di Lettera vuoi inserire la Denominazione del destinatario userai la formula
- Codice: Seleziona tutto
=CERCA.VERT(A1;Foglio2!A:D;3;0)
(ho immaginato che questa informazione sia reperibile in colonna C di Foglio2, che contiene l' anagrafica dei clienti; se non e' in colonna C adatta la formula rispettando la sintassi del Cerca.Vert)
Con altre formule analoghe calcolerai gli altri campi variabili della lettera, es Indirizzo, Cap, Citta' e quant'altro vorrai stampare.
La macro inoltre creera' l' elenco delle posizioni arretrate da A30 in avanti; poiche' l' importo residuo e' in colonna J, da qualche parte della lettera dovrai calcolare la somma di queste pendenze (penso che anche tu vuoi sapere se mandi un sollecito per 87 Euro piuttosto che per 12000 Euro). Quindi da qualche parte inserirai la formula
- Codice: Seleziona tutto
=Somma(J30:J1000)
Completata la predisposizione del file dovrai inserire la macro: per questo, partendo da Excel
-premi Alt-F11; ti si aprira' l' editor delle macro
-Menu /Inserisci /Modulo
-copia il codice della macro e incollalo nel frame di destra
Va bene il codice che hai pubblicato (e' quello che ti avevo suggerito con la specializzazione di alcune variabili) con una unica variazione:
-le tue partite iva sono memorizzate come numeri, la macro originale si aspettava fossero Testi; modifica quindi la riga
Sheets(DestSh).Range(myPIva).Value = "'" & PIva in
- Codice: Seleziona tutto
Sheets(DestSh).Range(myPIva).Value = PIva
Ci sono delle cose ulteriori che devi ancora fare sul tuo foglio Lettera.
Ad esempio devi controllare la larghezza delle colonne in cui incolli i dati relativi all' arretrato, che siano di larghezza e formattazione (grandezza caratteri, allineamento, etc) che rendano leggibile quanto si invia. Poi difficilmente tutte le colonne staranno in un foglio A4-Verticale, probabilmente ti converra' impostare un formato A4-Orizzontale (copia a mano le intestazioni di Foglio1 e un tot di righe in A30 di Lettera per avere un esempio di dati).
Questo potrebbe avere un impatto anche sul testo standard e la sua posizione.
Quando e' tutto pronto, vai su Foglio1 e avvia la macro mytest: Alt-F8, seleziona mytest dall' elenco che ti propone, premi Esegui.
Altre istruzioni erano gia' contenute nei miei due messaggi precedenti.
Quanto alla copia in formato xlsm questo e' obbligatorio se vuoi inserire delle macro; il formato xlsx non supporta le macro. La corruzione file non so a cosa possa essere dovuto, ma mi sento di escludere che dipende dal salvataggio in formato xlsm.
Ciao