Ricerca su colonne

Storico discussioni

Cicli for next di Enzo
Ragazzi c'e' qualcosa che non mi sfagiola in quello che ho scritto nella macro qui sotto
ho due elenchi
il primo da a1 a a3 e il secondo da c1 a c3
il risultato dovrebbe essere che se il contenuto di ogni cella nella colonna a e' uguale a quello della colonna c pone nella colonna b la parola trovato altrimenti in d la parola non trovato
il problema come nell'esempio qui sotto e' che se in a1 a2 e a3 (vedi esempio) inserisco 1000 2000 3000 e gli stessi valori sono in c1 c2 c3 lui mi inserisce trovato ma anche non trovato nella colonna d non so proprio dove intervenire
p.s. complimenti per il nuovo look

 
For i = 1 To 3
For h = 1 To 3
If Range("a" & i).Text = Range("c" & h).Text Then
Range("B" & i).Select
ActiveCell.Value = "trovato"
Else
Range("d" & h).Select
ActiveCell.Value = "non trovato"
End If
Next h
Next i
End Sub

Rimedio di Apoben64
Ciao enzo, diciamo che lascerei la prima parte del tuo codice , fino al "activecell....trovato" e poi inserirei il riferimento a questa macro .
scusa , ma al momento di più non posso fare, ho una giornataccia. un saluto luca
 
Sub confronta ()
Dim X, Y As Long
For X = 1 To 3
If Range("a" & X).Text <> Range("c" & X).Text Then
Range("d" & X).Select
ActiveCell.Value = " non trovato"
End If
Next
End Sub

di Big ronnie
Ciao enzo, se tu vuoi confrontare a1 con c1,a2 con c2,a3 con c3 hai semplicemente messo un ciclo(h) in più.questo perchè ad ogni valore di "i" il ciclo (h) assume tutti e 3 i suoi valori essendo all'interno del ciclo "i".quindi ogni cella "a" è confrontata con tutte e 3 le celle "c" trovando 1 valore uguale e 2 no.è per questo motivo che la macro ti scrive "trovato" e "non trovato" nelle rispettive celle "b" e "d".ti invio il codice esatto.ciao
 
sub Macro1
For i = 1 To 3
If Range("a" & i) = Range("c" & i) Then
Range("B" & i) = "trovato"
Else
Range("d" & i) = "non trovato"
End If
Next i
End Sub

Cognolato Studio © 2005