Condividi:        

EXCEL 2003 - TEST CELLA

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

EXCEL 2003 - TEST CELLA

Postdi manuela80 » 23/09/09 21:22

Buonasera a tutti,
ho avuto modo di leggerVi più volte e di prendere spunti dai Vs/consigli. Ora ho un piccolo problema che non rieso a risolvere da sola:
Ho un file CLIENTI (che contiene denominazione,indirizzo,cod.fisc./p.iva,note) esporto questi dati nell'intestazione fattura, finora tutto bene, ma per esigenze interne abbiamo creato in fattura due campi diversi, uno per cod.fisc. e l'altro per p.iva. Nel file CLIENTI si trovano entrambi nella stessa cella perchè o c'è l'uno o l'altra, mai entrambi. Non voglio crearmi una seconda colonna nel file CLIENTI.
Finora nella cella F15 avevo questa formula =SE (G9="";"";CERCA.VERT(G9;elenco;7;FALSO)). Ora F15 è per cod.fisc. e F16 per p.iva e la colonna 7 dell'elenco CLIENTI ripeto, può avere o l'uno o l'altra. Io vorrei scrivere in F15 (Se nella colonna 7 trovi lettere scrivi in F15 se no in F16) Come faccio? è giusto come quesito?
Inoltre, avendo un elenco CLIENTI RIEPILOGATIVO (che contiene denominazione,nr.ft.,data ft.,imp.ft.,mod.pag.), vorrei avere la possibilità di richiamare su altro foglio per CLIENTE gli stessi dati presenti nel riepilogo. Non so farlo. Vi ringrazio e aspetto di leggere Vs/indicazioni. Manu
manuela80
Newbie
 
Post: 3
Iscritto il: 23/09/09 18:41

Sponsor
 

Re: EXCEL 2003 - TEST CELLA

Postdi Flash30005 » 23/09/09 21:56

Ciao Manuela e benvenuta in Pc-Facile

Lo sforzo maggiore che faccio è cercare di capire come sono posizionati i dati e dove si vuole che vadano messi dopo il "processo di sistemazione", per questo ti chiedo di postare un facsimile del tuo file mascherando dati sensibili e specificando sul foglio quello che vuoi e dove lo vuoi.
Questo dal punto di vista di una eventuale macro che provveda a fare quello che vorresti.

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL 2003 - TEST CELLA

Postdi manuela80 » 24/09/09 00:39

Grazie per avermi risposto così velocemente, ma non riesco ad allegare il file, perciò provo in questa maniera. (Spero bene)
Il file su cui lavoro è diviso in 3 fogli:
Il primo è FATTURA e questa è la testata in cui riporto i dati dal secondo foglio in automatico, inserisco solo in G9 il cognome e mi riporta tutti i dati (OK)

B C D E F G H I
Fatturan. 604/09 Spett.le BIANCO MANUELA
del 22 settembre 2009
via CCCCC

Rif.: Cantiere XXX 70100 ROMA RM

Cod.Fisc. BNCMNL80A51I386T
P.Iva BNCMNL80A51I386T


Questo è il secondo foglio ANAGRAFICA CLIENTI è strutturato in 7 colonne e più di 200 righe (una per ogni cliente).

A B C D E F G
cliente indirizzo cap località prov ALIQ. Cod.Fisc./P.Iva
BIANCO MANUELA via CCCCC 70100 ROMA RM 20% BNCMNL80A51I386T
DIVANI SRL via DDDDDD 70100 FOGGIA FG 4% 01710023435

Il mio problema è inserire nei campi della fattura F15 cod.fisc. F16 p.iva, il valore della colonna 7 (G) del foglio anagrafica, facendogli distinguere le lettere dai numeri (se trova lettere scrive in F15 se trova numeri in F16) oppure se questo non è possibile (se trova 11 caratteri – p.iva, se trova 16 caratteri –cod.fisc.), perché ora con la vecchia formula mi scrive il valore che trova in entrambe le celle, perché non so fargli fare la distinzione. Spero di aver reso bene qual’è la mia difficoltà.
Per ora risolviamo se possibile questo primo quesito. Grazie
manuela80
Newbie
 
Post: 3
Iscritto il: 23/09/09 18:41

Re: EXCEL 2003 - TEST CELLA

Postdi Flash30005 » 24/09/09 05:27

No vuoi proprio ricavarti il primo carattere e fare la distinzione tra lettera e numero potresti usare una formula di questo tipo in F15
Codice: Seleziona tutto
=SE(CODICE(CERCA.VERT(G9;'ANAGRAFICA CLIENTI'!A2:G3;7;FALSO))>60;CERCA.VERT(G9;'ANAGRAFICA CLIENTI'!A2:G3;7;FALSO);"")

e in F16
Codice: Seleziona tutto
=SE(CODICE(CERCA.VERT(G9;'ANAGRAFICA CLIENTI'!A2:G3;7;FALSO))<60;CERCA.VERT(G9;'ANAGRAFICA CLIENTI'!A2:G3;7;FALSO);"")

In pratica la funzione CODICE fornisce il numero corrispondente (ASCII) del primo carattere di una stringa:
i numeri vanno da 48 a 59 (0-9) le lettere Maiuscole da 65 a 90 (A-Z)
Ho supposto che tu abbia in G9 un nome univoco (lo stesso che ti automatizza il resto della fattura riempiendo i campi) altrimenti al posto di G9 dovrai far riferimento ad un'altra cella.

Però puoi anche utilizzare un'altra funzione: la LUNGHEZZA
una Partita Iva è composta da 11 caratteri, il Codice Fiscale da 16
quindi la condizione per F15 potrebbe essere:
Codice: Seleziona tutto
=SE(LUNGHEZZA(CERCA.VERT(G9;'ANAGRAFICA CLIENTI'!A2:G3;7;FALSO))>12;CERCA.VERT(G9;'ANAGRAFICA CLIENTI'!A2:G3;7;FALSO);"")

e F16
Codice: Seleziona tutto
=SE(LUNGHEZZA(CERCA.VERT(G9;'ANAGRAFICA CLIENTI'!A2:G3;7;FALSO))<12;CERCA.VERT(G9;'ANAGRAFICA CLIENTI'!A2:G3;7;FALSO);"")


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL 2003 - TEST CELLA

Postdi manuela80 » 24/09/09 12:59

Grazie Flash,
ho usato la formula CODICE e l'ho adattata alle mie esigenze, funziona tutto.
Ti pongo altro quesito:
Partendo dalla fattura, richiamando le varie celle nel foglio di lavoro 3 (RIEPILOGO) ho l'elenco di tutte le fatture emesse. Le colonne sono così impostate: cliente,fat.nr.,data ft.,importo ft., modalità pag., i dati si aggiornano automaticamente. Ora vorrei creare il foglio 4 (SCHEDA CLIENTE), in cui digitando in A1 o altra cella il nome del cliente mi dia mantenendo lo stesso formato del foglio 3 (fat.nr.,data ft.,importo ft., modalità pag.;tutto cio' che trova per quel cliente. Come faccio. Grazie
manuela80
Newbie
 
Post: 3
Iscritto il: 23/09/09 18:41

Re: EXCEL 2003 - TEST CELLA

Postdi Flash30005 » 24/09/09 14:56

Se il tuo foglio 3 (RIEPILOGO) ha i dati di tutte le fatture emesse (quindi con tutti i clienti e le loro fatture), farei una Convalida dati in A1 del foglio4 dell'elenco dei clienti in Anagrafica
Per fare l'Elenco del foglio Anagrafica devi selezionare tutta la colonna Cliente (credo sia nome e cognome in unico campo) selezioni più righe di quelle esistenti e poi nel riquadro in alto a sinistra dove troverai il riferimento cella A1 o A2 (l'inizio dell'elenco) digiterai Elenco (o altro nome: Clienti), fatto questo, torni sul foglio4 (Scheda Cliente), selezioni A1 e sulla Barra del Munu selezioni Dati>Convalida, dove vedrai scritto "Qualsiasi Valore" selezionerai la voce Elenco
e nel box "Origine:" scriverai =Elenco o = Clienti (il nome che hai digitato nella selezione del foglio Anagrafica).
premi Ok e avrai la possibilità di selezionare qualsiasi cliente dell'elenco.
Per la compilazione scheda cliente utilizzare una macro da realizzare che in automatico compila la scheda cliente
tipo questa:
Codice: Seleziona tutto
Sub CompilaSchedaCli()
Application.ScreenUpdating = False
Application.Calculation = xlManual
UC = Worksheets("Riepilogo").Range("IV2").End(xlToLeft).Column
UR = Worksheets("Riepilogo").Range("A" & Rows.Count).End(xlUp).Row
URSC = Worksheets("Scheda Cliente").Range("A" & Rows.Count).End(xlUp).Row + 1
Worksheets("Scheda Cliente").Range("A2:J" & URSC).Clear
For CL = 1 To UR
   If Worksheets("Riepilogo").Cells(CL, 1).Value = Worksheets("Scheda Cliente").Range("A1").Value Then
        URSC = Worksheets("Scheda Cliente").Range("A" & Rows.Count).End(xlUp).Row + 1
        Worksheets("Riepilogo").Select
        Range(Cells(CL, 1), Cells(CL, UC)).Copy
        Worksheets("Scheda Cliente").Select
        Range(Cells(URSC, 1), Cells(URSC, UC)).Select
        ActiveSheet.Paste
    End If
Next CL
Range("A1").Select
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

Poi dovrai inserire un codice sul foglio "Scheda Cliente" (non nel modulo), al fine di avviare la macro al cambiamento del valore nella cella A1 della Scheda Cliente
il codice è questo
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Call CompilaSchedaCli
End Sub


Prova e fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL 2003 - TEST CELLA":


Chi c’è in linea

Visitano il forum: papiriof e 61 ospiti