estrazione data da nome file



  • estrazione data da nome file
    di mb data: 06/03/2017 13:49:01

    Buongiorno
    Grazie al Vostro aiuto e mettendo insieme un po' di righe sono riuscito ad aveduarmi un file che mi serve per l'elaborazione dei dati
    ho però riscontrato un problema legato alla data

    la procedura estrae dei dati da file presenti in una cartella ( in questo caso potrebbe essere anche fissa senza usare la finestra di dialogo, ma questo non è rilevante ) divide il nome del file e la data.

    il problema è che se il file è salvato pippo04_02_2017 il file viene riportato in modo regolare
    se invece il file è salvato come pippo04-02-2017 il file viene indicato con la data del giorno e mese invertito come si nota nel file

    cosa posso fare in questo caso per evitare il problema:
    1 far salvare il file come nel primo caso

    2 modificare la prcedura VBA ..... come però ???

    Spero di aver reso comprensibile il problema


    Grazie




  • di mb data: 06/03/2017 13:57:12

    Ho creato al volo 2 file d'esempio che arrivano durante il giorno con i dati che servono

    grazie



  • di Mister_x (utente non iscritto) data: 06/03/2017 15:15:25

    ciao

    modifica della data da VBA

    ciao
     
    Sub ModificaData()
    Dim i As Long
    Dim DataS As Variant
    For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
     DataS = Cells(i, 2).Value
     Cells(i, 2) = DateValue(Replace(DataS, "_", "/"))
     Cells(i, 2).NumberFormat = "dd-mm-yyyy"
     Next i
    End Sub
    






  • di mb data: 06/03/2017 15:48:21

    Ottimo Mister x

    funziona perfettamente

    alla prossima



  • di mb data: 06/03/2017 18:47:43

    chiedo scusa

    ho ancora fatto delle prove con nuovi file ma continua ad invertire la data

    pippo 02-04-2017
    pippo 02-05-2017


    invece di scrivere

    pippo 04-02-2017
    pippo 05-02-2017

    la sub scritta l'ho letta ma mi sembra che sostituisca solo i simboli _ e / ma non scriva gg-mm-aaaa
    quindi mi ritrovo sempre mm-gg-aaaa



    scusate.....



  • di mb data: 07/03/2017 09:16:46

    Ecco il risultato che ho ottenuto questa mattina

    deposito importo data
    a 3.823,46 03/06/2017
    b 4.528,07 03/06/2017
    c 2.557,59 03/06/2017
    d 1.985,32 03/06/2017
    e 5.266,94 03/06/2017
    f 2.811,04 03/06/2017
    g 4.513,89 03/06/2017
    k 4.589,58 03/06/2017

    Come vedete nella colonna data ci dovrebbe essere 6/03/2017 invece è riportato 3 giugno ??

    Appena riesco provo a generare un nuovo file con tutta la sub per verificare che non ci sia un problema di formato celle

    Buona giornata


    Risolto ho impostato la colonna della data come testo e adesso funziona davvero tutto

    alla prossima



  • di Mister_x (utente non iscritto) data: 07/03/2017 09:54:57

    ciao

    il problema sta che se tu metti la ( - ) excel la trasforma in formato USA mese giorno anno ,
    mentre il formato europeo vuole la ( / )
    i valori sono uguali data che come sai la data non e' niet'altro che un valore numerico quindi sta a te la scelta di come intervenire

    ciao



     
    Sub ModificaData()
    Dim i As Long
    Dim DataS As Variant
    For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
     DataS = Cells(i, 2).Value
     Cells(i, 2) = DateValue(Replace(DataS, "_", "/"))
     Cells(i, 2).NumberFormat = "dd-mm-yyyy"  'usa
     Cells(i, 2).NumberFormat = "dd/mm/yyyy" 'europa o italia
     Next i
    End Sub
    
    






  • di Mister_x (utente non iscritto) data: 07/03/2017 10:11:01

    ciao

    mi sono dimenticato di dirti se non ti interessa avere nella cella una data ma solamente la trasformazione di questa
    da cosi' 05_03_2017 a 05-03-2017 devi usare un altro metodo di conversione

    ti posto la sub() modificata per questi

    riciao
     
    Sub ModificaData()
    Dim i As Long
    Dim DataS As Variant
    For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
     DataS = Cells(i, 2).Value
     Cells(i, 2).NumberFormat = "@"
     Cells(i, 2) = Replace(DataS, "_", "-")
     Next i
    End Sub
    






  • di mb data: 07/03/2017 10:25:22

    Grazie Misterx

    farò tesoro prezioso di tutte le tue info

    p.s mi piace molto anche la versione corta per trovare l'ultima riga occupata!!!




  • di mb data: 07/03/2017 10:25:51

    grazie