PopAds.net - The Best Popunder Adnetwork

Presente su due colonne Excel

  • FOR ... NEXT di ENZO
    AVREI UN PROBLEMA DI QUESTO TIPO
    IN UN FOGLIO EXCEL HO UN ELENCO DI NOMI
    DA A1 A A10 E UN ALTRO DA F1 A F10
    ORA LA MACRO DESCRITTA DI SEGUITO MI CONSENTE DI CONFRONTARE I I DUE ELENCHI E SE TROVA CORRISPONDENZA TRA I NOMI MI INSERISCE NELLA COLONNA B E NELLA COLONNA E IL TERMINE "TROVATO"

    For I = 1 To 10
    For H = 1 To 10
    If Range("F" & H).Value = Range("A" & I).Value Then
    Range("B" & I).Select
    ActiveCell.FormulaR1C1 = "PRESENTE"
    Range("E" & H).Select
    ActiveCell.FormulaR1C1 = "PRESENTE"
    End If
    Next H
    Next I
    IL PROBLEMA MI SORGE SE ALLA MACRO VOGLIO DIRE CHE SE IL NOMINATIVO E' UGUALE MI INSERISCI "PRESENTE", SE NON FOSSE COSI' INSERISCI "NON PRESENTE"
    LA MACRO E' DESCRITTA QUI SOTTO MA FORSE SBAGLIO QUALCOSA IN QUANTO ANCHE SE TROVA CORRISPONDENZA TRA I NOMI MI INSEIRSCE SEMPRE "NON PRESENTE"
    MI PUOI DARE UNA MANO?
    For I = 1 To 10
    For H = 1 To 10
    If Range("F" & H).Value = Range("A" & I).Value Then
    Range("B" & I).Select
    ActiveCell.FormulaR1C1 = "PRESENTE"
    Range("E" & H).Select
    ActiveCell.FormulaR1C1 = "PRESENTE"
    ELSE
    Range("B" & I).Select
    ActiveCell.FormulaR1C1 = "NON PRESENTE"
    Range("E" & H).Select
    ActiveCell.FormulaR1C1 = "NON PRESENTE"
    End If
    Next H
    Next I

    di Mauro
    Certo perchè il ciclo interno sovrascrive ogni volta colonna B e colonna E.
    Uno dei limiti dell'utilizzo VBA è ke a volte ci scervelliamo su montagne di codice quando Excel ci restituisce gratis il risultato.
    Esempio prova ad inserire la formula sottostante in cella B1 e copiarla x la lunghezza della colonna:
    =SE(A1=CERCA.VERT(A1;$F$1:$F$10;1);"PRESENTE";"NON PRESENTE")