find and replace HELP



  • find and replace HELP
    di cenzaccio899 (utente non iscritto) data: 17/03/2015 12:48:02

    Ciao a tutti, ho un problema con l'implementazione del find and replace in VBA.
    importo dati da un file sul quale la data è del tipo gg.mm.aa. Il find and replace lo suo per sostituire "." con "/" per poi effettuare operazioni con le date. Tutta la colonna con questo tipo di dato ha formato "data".

    Il problema è che dopo aver fatto il find and replace alcune date sono spostate a destra alcune a sinistra. Siccome devo mettere un filtro sulle date, quelle spostate a sinistra le salta e non me le filtra!! Come posso fare?

    Certo di un vostro supporto
    Grazie a tutti
     
    Il codice vba è il semplice:
    
    Range(Selection, Selection.End(xlDown)).Select         
                Selection.Replace What:=".", Replacement:="/"
    
    



  • di lepat (utente non iscritto) data: 17/03/2015 15:50:10

    allega un file di esempio



  • di Vecchio Frac data: 17/03/2015 23:41:24

    L'istruzione sostituisce i punti con gli slash, quindi Excel si trova qualcosa che gli sembrano delle date, e le interpreta all'americana, cioè prima il mese e poi il giorno quindi l'anno, salvo poi convertirle nel formato locale (giorno-mese-anno se il sistema è italiano). Naturalmente quando trova che un mese è superiore a 12 non lo interpreta proprio e lo lascia in formato testo. Così "15.8.15" rimane com'è mentre "12.8.15" diventa "12/08/2015".
    Prova il codice che segue (ma per favore definisci meglio il range... ^_^)

     
        For Each cell In Range(Selection, Selection.End(xlDown))
            cell = CDate(Replace(cell, ".", "/"))
        Next