Pagina 1 di 1

Aiuto per formula Excel

MessaggioInviato: gio set 18, 2003 2:13 pm
da gillo
salve, il mio problema è il seguente: nel foglio1 di excel ho una tabella con i campi id_utente, sesso, età. Nel foglio2 ho il campo id_utente dove sono presenti soltanto alcuni id e in un ordine diverso rispetto a quello del foglio1. vorrei trovare una formula che mi confronti l'id del foglio2 con quelli del foglio1 e accanto a ciascun id del foglio2 inserisse il corretto sesso e la corretta età. qualcuno sa aiutarmi?
grazie
gillo

Aiuto per formula Excel

MessaggioInviato: gio set 18, 2003 2:13 pm
da gillo
salve, il mio problema è il seguente: nel foglio1 di excel ho una tabella con i campi id_utente, sesso, età. Nel foglio2 ho il campo id_utente dove sono presenti soltanto alcuni id e in un ordine diverso rispetto a quello del foglio1. vorrei trovare una formula che mi confronti l'id del foglio2 con quelli del foglio1 e accanto a ciascun id del foglio2 inserisse il corretto sesso e la corretta età. qualcuno sa aiutarmi?
grazie
gillo

MessaggioInviato: gio set 18, 2003 2:49 pm
da air.wolf
Copiati il seguente ciclo nelle macro. Controlla che i fogli si chiamino realmente foglio1 e foglio2, i dati da inserire siano nel foglio2. La macro ce c'è qui ti riempie le colonne fino ad H.
Ti esce anche un menù quando la lanci (passo passo, vai veloce, ferma)



Sub trova()
riga = ActiveCell.Row
NONCHIEDERE = False
While ActiveSheet.Range("A" & Format(riga)).Value <> ""
rig = 2
mm = ActiveSheet.Range("A" & Format(riga)).Value
trovato = False
Do While Worksheets("foglio1").Range("A" & Format(rig)).Value <> ""
If Format(Worksheets("foglio1").Range("A" & Format(rig)).Value) = Format(ActiveSheet.Range("A" & Format(riga)).Value) Then
mm = Worksheets("foglio1").Range("A" & Format(rig)).Value
ActiveSheet.Range("B" & Format(riga)).Value = Worksheets("foglio1").Range("B" & Format(rig)).Value
ActiveSheet.Range("C" & Format(riga)).Value = Worksheets("foglio1").Range("C" & Format(rig)).Value
ActiveSheet.Range("D" & Format(riga)).Value = Worksheets("foglio1").Range("D" & Format(rig)).Value
ActiveSheet.Range("E" & Format(riga)).Value = Worksheets("foglio1").Range("E" & Format(rig)).Value
ActiveSheet.Range("F" & Format(riga)).Value = Worksheets("foglio1").Range("F" & Format(rig)).Value
ActiveSheet.Range("G" & Format(riga)).Value = Worksheets("foglio1").Range("G" & Format(rig)).Value
ActiveSheet.Range("H" & Format(riga)).Value = Worksheets("foglio1").Range("H" & Format(rig)).Value
trovato = True
Exit Do
End If
rig = rig + 1
Loop
If Not trovato Then
MsgBox "Codice non trovato : " & ActiveSheet.Range("A" & Format(riga)).Value, vbCritical + vbOKOnly, "ATTENZIONE"
Else
If Not NONCHIEDERE Then
RISP = MsgBox("Continuare passo passo (SI) - Uscire (NO) - Vai veloce (CANCEL)", vbQuestion + vbYesNoCancel, "Lancio")
If RISP = 7 Then Exit Sub
If RISP = 2 Then NONCHIEDERE = True
End If
End If

riga = riga + 1
Wend
End Sub

MessaggioInviato: gio set 18, 2003 3:07 pm
da gillo
grazie, ma non ho mai creato una macro, anche se ora ci proverò! ma non esiste una formula del tipo confronta e prendi l'informazione della cella accanto?
gillo

MessaggioInviato: gio set 18, 2003 3:22 pm
da air.wolf
Caspita ti ho appena fatto un lavoro d'oro e preferisci fare una cavolo di formula? fai ALT+F11 dal file dove stai lavorando; ti si apre Visual Basic; su project selezioni il file dove devi fare il lavoro; insert -> module; ti apre una finestra vuota; copi quello che ti ho dato (da "sub trova()" a "end sub") e lo incolli nell'ultima finestra che si è aperta. Chiudi visual basic; ti posizioni sul foglio2 cella A1; ALT+F8, selezioni la macro trova e clikki su run....

MessaggioInviato: gio ott 09, 2003 11:24 am
da mancam
Se non hai capito la macro e vuoi una formula puoi usare la funzione CERCA, mettiamo che parti da una situazione del genere:
Foglio1

A B C
1 Andrea 40 Roma
2 Luca 25 Torino
3 Marco 50 Milano
4 Paolo 18 Firenze
5 Sandro 43 Napoli

e nel Foglio2

A B C
1 Sandro
2 Luca
3 Paolo

In B1 scrivi:=cerca(A1;Foglio1!A$1:A$5;Foglio1!B$1:B$5)
Questa formula la trascini nella cella C1 quindi in giù fino in C3,
hai ottenuto quello che volevi, ciao e fammi sapere.

MessaggioInviato: gio ott 09, 2003 12:24 pm
da mancam
Dimenticavo la cosa più importante, la colonna A del foglio1 deve essere rigorosamente ordinata, ciao.