Selezione Pattern



  • Selezione Pattern
    di Traniwebdesign data: 04/01/2016 19:10:43

    ciao a tutti e buon anno avoi...primo problema del 2016...
    Ho un elenco del genere:
    codice codice_Ean
    A B
    20135 8000071201353
    20135 8015450921814
    20136 8000071201360
    20136 8015450926703
    20140 8000071201407
    20140 8015450926710
    20141 8000071201414
    20141 8015450926802
    20142 8000071201421
    20142 8015450926819

    -------------------------------------------------------
    Ho un elenco di 6000 prodotti ( molti duplicati ) e ogni prodotto spesso ha 2/3/4 EAN diversi, ma a me interessa 1 tipo di ean specifico.
    L'ean giusto contiene già il codice numerico prodotto di 5 cifre al suo interno...( se guardate 5 delle 13 cifre EAN sono proprio il codice articolo )
    Quello che vorrei come risultato finale è questo.
    Naturalmente non tutti i codici EAN hanno sempre il codice prodotto al loro interno,in questo caso si puo tranquillamente copiare il codice Ean relativo

    20135 8000071201353
    20136 8000071201360
    20140 8000071201407
    20141 8000071201414
    20142 8000071201421

    Come si puo creare tutto cio ?
    Grazie mille a tutti



  • di Mister_x (utente non iscritto) data: 04/01/2016 20:11:59

    ciao

    Sub() da inserire nel modulo del foglio

    20135 8000071201353
    20136 8000071201360
    20140 8000071201407
    20141 8000071201414
    20142 8000071201421

    ciao
     
    Option Explicit
    Sub EliminaDoppi()
     Dim i As Long
       For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
         If Cells(i, 1).Value = Cells(i - 1, 1).Value Then Rows(i & ":" & i).Delete
       Next i
    End Sub
    






  • di cromagno data: 04/01/2016 20:21:07

    Ciao a tutti,
    visto che Mister_x (un saluto) ti ha già proposto una soluzione in VBA te ne propongo una con le formule....

    Se i valori iniziali partono dalle celle A2 e B2, per ottenere il risultato posizionati ad esempio nella cella D2 e inserisci la formula matriciale ( quindi da confermare con CTRL + MAIUSC + INVIO) :

    =SE.ERRORE(INDICE($A$1:$B$11;PICCOLO(SE(VAL.ERRORE(TROVA($A$2:$A$11;$B$2:$B$11));"";RIF.RIGA($B$2:$B$11));RIF.RIGA(A1));RIF.COLONNA(A1));"")

    Dopo copia la cella D2 in basso e a destra.
    Ti lascio un file di esempio in allegato....



  • di Traniwebdesign (utente non iscritto) data: 05/01/2016 12:38:50

    GRAZIE MILLE A TUTTI VOI.



  • di scossa data: 05/01/2016 14:16:26

    @cromagno: così, a naso, mi sembra che la tua formula non soddisfi la condizione:
    cit.: "Naturalmente non tutti i codici EAN hanno sempre il codice prodotto al loro interno,in questo caso si puo tranquillamente copiare il codice Ean relativo"




    scossa's web site
    Se tu hai una mela, ed io ho una mela, e ce le scambiamo, allora tu ed io abbiamo sempre una mela per uno. Ma se tu hai un'idea, ed io ho un'idea, e ce le scambiamo, allora abbiamo entrambi due idee.
    (George Bernard Shaw)



  • di cromagno data: 05/01/2016 17:56:35

    Ciao scossa,
    hai ragione, anche io avevo qualche dubbio per quella frase ma in assenza di un file d'esempio con più casistiche mi sono basato solo sui dati forniti.
    Mah.... vedremo...