Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

Aiuto per formula Excel

Office fa le bizze? Photoshop non funziona più? Forse possiamo darti una mano...

Aiuto per formula Excel

Messaggioda gillo » gio set 18, 2003 2:13 pm

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
Avatar utente
gillo
Neo Iscritto
Neo Iscritto
 
Messaggi: 2
Iscritto il: gio set 18, 2003 2:05 pm

Aiuto per formula Excel

Messaggioda gillo » gio set 18, 2003 2:13 pm

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
Avatar utente
gillo
Neo Iscritto
Neo Iscritto
 
Messaggi: 2
Iscritto il: gio set 18, 2003 2:05 pm

Messaggioda air.wolf » gio set 18, 2003 2:49 pm

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
Avatar utente
air.wolf
Senior Member
Senior Member
 
Messaggi: 327
Iscritto il: ven set 12, 2003 3:32 pm
Località: Veneto


Messaggioda gillo » gio set 18, 2003 3:07 pm

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
Avatar utente
gillo
Neo Iscritto
Neo Iscritto
 
Messaggi: 2
Iscritto il: gio set 18, 2003 2:05 pm

Messaggioda air.wolf » gio set 18, 2003 3:22 pm

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....
Avatar utente
air.wolf
Senior Member
Senior Member
 
Messaggi: 327
Iscritto il: ven set 12, 2003 3:32 pm
Località: Veneto

Messaggioda mancam » gio ott 09, 2003 11:24 am

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.
Avatar utente
mancam
Neo Iscritto
Neo Iscritto
 
Messaggi: 21
Iscritto il: gio ott 09, 2003 10:56 am

Messaggioda mancam » gio ott 09, 2003 12:24 pm

Dimenticavo la cosa più importante, la colonna A del foglio1 deve essere rigorosamente ordinata, ciao.
Avatar utente
mancam
Neo Iscritto
Neo Iscritto
 
Messaggi: 21
Iscritto il: gio ott 09, 2003 10:56 am


Torna a Software

Chi c’è in linea

Visitano il forum: Google [Bot] e 2 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising