Se ti serve per forza in Excel non è impossibile ma un po' complicato...
Ma se vuoi ti spiego come fare, nulla di impossibile, ti spieghero tutto passo passo...
Nulla da scaricare da internet, sarà tutta "farina del mio sacco" ( inteso il mio non il tuo! he he he Scherzavo...!)
Cmq se ti interessa dillo aggiungendolo alla domanda, che mi ci vorrà del tempo per scriverlo, dato che non posso fare nemmeno le tabelle nelle risposte e facilitare così la spiegazione...
Cosi se non ti interessa mi dedico ad altre domande... ! :D
----------------------------------------------------------------------------------
Vada per Excel, altrimenti con Access poi ti devi scontrare con altri problemi che magari ti fanno impantanare e confondere, perchè Access è alquanto differente da Excel e in linea di massima un po' più "complicato", anche se il paragone non puo essere fatto visto che sono due cose abbastanza diverse....!
Cmq, dammi una 20/30 di mi al max e ti rispondo! :D
----------------------------------------------------------------------------------
Allora, Prima di tutti ti avviso, ora andiamo a creare una funzione per excel personalizzata:
nella barra dei menu selezione:
Strumenti -> macro -> Visual Basic editor
oppure premi: ALT + F11
Ti si apre un nuovo programma, Visual Basic Editor
Ora non ti sto a spiegare le varie potenzialità e funzionalità del linguaggio VB e l'integrazione con i prodotti Office...
Passiamo all'azione!
Sulla sinistra noterai dei pannelli, uno in particolare di nome "Progetto - VBAProject" o qualcosa di simile, con dentro degli elementi chiamati "Foglio1","Foglio2",Foglio3" (oppure gli altri nomi che hai dato ai tuoi fogli di excel), ma questo ci importa relativamente, l'importante è che individui questo pannello e ci fai click con il Destro nello spazio bianco.
Dal menu a tendina ti posizioni sopra "inserisci >",ti si apre un'altra tendina e lì clicchi su "Modulo"
Ti si apre un documento bianco, all'interno devi incollare questo testo ( "Da qui" "A qui!" esclusi naturalmente ):
==== Da qui ====>
Public Function fx_num_op(Valore As Long) As String
Select Case Valore
Case Is = 1
fx_num_op = "Valore casella se = 1"
Case Is = 2
fx_num_op = "Valore casella se = 2"
Case Is = 3
fx_num_op = "Valore casella se = 3"
Case Is = 4
fx_num_op = "Valore casella se = 4"
Case Is = 5
fx_num_op = "Valore casella se = 5"
Case Else
fx_num_op = "Valore casella non riconosciuto"
End Select
End Function
<==== A qui! ====
Praticamente a questa funzione di nome "fx_num_op" gli si chiede di analizzare un "Valore" di tipo "Long" ( intero lungo) e risponderci con "String" ovvero una stringa di caratteri, mero testo!
Poi Con il costrutto "Select Case" mettiamo in analisi "valore" in tutti i "Case" (casi) che vogliamo, cosi possiamo inserire quanti "Case Is = #" dove # è un valore numerico ed assegnare il valore "Valore casella se #" che vogliamo, in più c'è un "Case" particolare, il "Case Else" che imposta il valore restituito dalla nostra funzione a "Valore casella non riconosciuto" se non è stato associato nessun "Case" al valore di "Valore" che abbiamo passato alla funzione, esempio, se alla funzione gli do il numero 1 a "Valore" essa mi restituira "Valore casella se = 1", se invece gli passo il valore 10 la mia funzione esaminerà tutti i valori di "Case" e se non trova quello giusto mi restituira "Valore casella non riconosciuto"
Tutto molto bello vero, puoi aggiungere tutti i valori di "Case" che vuoi associandogli qualsiasi numero e qualsiasi stringa che vuoi (Ricordati, le strighe, ovvero il testo, si racchiudono tra " "), per far restituire testo vuoto basta mettere le due doppie virgolette una di fianco all'altra cosi:
fx_num_op = ""
A questo punto fai:
File -> Chiudi e torna a Excel
Ora, ammettiamo di avere una tabella cosi fatta:
_| A | B | C |
1| 1
2| 2
3| 3
in B1 scriviamo : = fx_num_op(A1)
in B2 scriviamo : = fx_num_op(A2)
in B3 scriviamo : = fx_num_op(A3)
(... o molto più semplicemente trascini la funzione con la maniglia della casella!)
Indovina che cosa esce! :D
he he he
Naturalmente vale anche se le celle A1,A2,A3 sono in formato "Testo" tipo "0001", tanto ci pensa la funzione a trasformare "0001" in 1 ! Se invece i valori di A1,A2... sono testo che non contiene solo numeri, dimmelo che ti riporto la variante della funzione adatta!
E poi, se hai sbagliato una cosa o vuoi dire la stessa con altre parole, ti basta modificarlo una volta sola, nella funzione!
Spero di essere stato utile, se c'è qualcosa che ho lasciato vago o spiegato male, fai un'aggiunta nella domanda, la terrò sotto osservazione, oppure contattami sul messenger o per posta, basta andare nel mio profilo! :D
Ciao Ciao!
-------------------------------------------------------------------------------
Queste riportate di seguito sono le istruzioni in VB che mi hai chiesto facendo l'esempio con i tuoi dati
Per queste in particolare devi fare in modo che le celle da cui prendi i valori dei codici devono essere di tipo TESTO, se sono numerici non funzionano perchè excel trasforma "0001" in 1 ... ok? Naturalmente pero se metti solo "1" nella cella per questa funzione "1" è diverso da "0001", in compenso questa funzione supporta codici con le lettere tipo per esempio : "ec1"
==== Da Qui ====>
Public Function fx_num_op(valore As String) As String
Select Case valore
Case Is = "0001"
fx_num_op = "Entrate Cassa"
Case Is = "0002"
fx_num_op = "Uscite Cassa"
'Questo è il blocco da copiare per creare le tue associazioni, parte da qui
'--->Al posto di "0003" devi mettere il valore del codice sempre tra virgolette
'--->E al posto di "XXX Cassa" quello che vuoi visualizzare, sempre tra virgolette
Case Is = "0003"
fx_num_op = "XXX Cassa"
'E finisce qui!
Case Else
fx_num_op = "Codice Non Associato"
End Select
End Function
<==== A Qui! ====
Quest'altra funzione invece puo' ricevere sia Testo che numeri in entrata, a patto che il testo non contenga letere!
==== Da Qui ====>
Public Function fx_num_op(valore As Long) As String
Select Case valore
Case Is = 1
fx_num_op = "Entrate Cassa"
Case Is = 2
fx_num_op = "Uscite Cassa"
'Questo è il blocco da copiare per creare le tue associazioni, parte da qui
'--->Al posto di 3 devi mettere il valore del codice
'--->E al posto di "XXX Cassa" quello che vuoi visualizzare, sempre tra virgolette
Case Is = 3
fx_num_op = "XXX Cassa"
'E finisce qui!
Case Else
fx_num_op = "Codice Non Associato"
End Select
End Function
<==== A Qui! ====
Naturalmente sia per una che per l'altra vale il fato che devi mettere tanti blocchi:
Case Is = #
fx_num_op = "XXXXXX"
per tutti i codici che servono a te, dove # sara il codice e XXXX il testo associato
2007-03-07 20:54:29
·
answer #1
·
answered by poe84it 3
·
1⤊
0⤋
Crea un nuovo foglio nel file in cui stai lavorando chiamato foglio2.
Dentro foglio 2 scrivi un database dei codici->testo es:
A1 scrivi 0001
B1 scrivi entrate cassa
A2 scrivi 0002
B2 scivi Uscite cassa
ecc.....
Torna su foglio 1
se vuoi far apparire le descrizioni (entrata cassa, uscite cassa, ecc...) nella cella B1 scrivi:=SE(A1>0;CERCA.VERT(A1;Foglio2!A:B;2;FALSO);""). ORA SCRIVENDO IL CODICE 0001 nella cella A1 del foglio 1 VEDRAI che nella cella B1 automaticamente compare il testo assocviato al numero nel foglio 2.
Trascina B1 per tutta la colonna B. noterai che se A è vuota la corrispondente riga su B resta vuota. aggiungendo il codice su A in B compare il valore associato.
2014-04-11 08:14:26
·
answer #3
·
answered by Lele 3
·
0⤊
0⤋
La domanda è chiara e la risposta spero lo sia altrettanto.
Con excel devi usare la formula CERCA.VERT(A1;G1:H2;2) dove:
A1 è la cella dove digiti il codice;
G1:H2 sono le celle dove hai preparato la tabellina con il codice e la relativa voce a fianco
(ad esempio in G1 scrivi 0001 ed in H1 scrivi Uscite di cassa, in G2 scrivi 0002 ed in H2 scriverai Entrate di cassa)
la tabella puoi costruirla anche in un altro foglio di lavoro (Foglio2) oppure in un altro documento (Tabella.xlm)
in tal caso devi dare le coordinate di ricerca relative e la formula sarà: CERCA.VERT(A1;Foglio2.G1:H2;2) oppure
CERCA.VERT(A1;'file:///C:/Documents and Settings/User/Desktop/Tabella.xlm'#$Foglio1.G1:H2;2)
Infine il 2 indica la colonna della tabella dove trovare il dato da trascrivere.
Credo sia tutto chiaro, scegli dove e come fare la tabellina poi adatta la formula! Ciao...
2007-03-08 06:51:41
·
answer #4
·
answered by cirri 4
·
0⤊
0⤋
Direi che la cosa migliore è inserire una funzione "SE" nella casella dove vuoi la scrita Entrate o Uscite.
Supponendo che tu abbia il codice nella colonna A e la voce Entrate/Uscite nella colonna B, la sintassi è la seguente (ipotizzo di essere nella riga 1, se non è così, cambia il numero o scrivi questa formula nella riga 1, colonna B e poi copia e incolla dove ti serve):
=SE(A1="0001";"Entrate Cassa";SE(A1="0002";"Uscite Cassa";""))
Trascina poi lungo tutta la colonna e dovresti avere risolto.
Se hai problemi, contattami pure direttamente (il nick è anche il mio indirizzo di posta e l'estensione è com).
2007-03-08 06:07:24
·
answer #5
·
answered by armaduk_00 1
·
0⤊
0⤋
Innanzi tutto le celle dove inserisci i codici devono essere in formato testo (altrimenti Excel trasforma 0001 in 1)
Se il codice è nella cella A1, inserisci nella cella B1 questa formula:
=SE(A1="0001";"Entrate cassa"; SE(A1="0002";"Uscite cassa";""))
poi trascina la formula nelle celle B2, B3 e così via.
Se il codice in A1 non è nè 0001 nè 0002 la cella B1 sarà vuota.
2007-03-08 05:04:49
·
answer #6
·
answered by Amaga 4
·
0⤊
0⤋