VBA Formato Data



  • VBA Formato Data
    di patri.la (utente non iscritto) data: 27/01/2016 17:37:31

    Ciao a tutti,
    sto ancora lavorando su un codice di cui ho risolto un problema in un'altra discussione.
    Ho letto sul web che il formato data su VBA é un po' ostico e lo sto sperimentando, sob !!!
    Nella userform inserisco la data nel formato standard italiano: 12/06/2015 ma nei records mi restituisce 06/12/2015 (formato inglese).
    Inoltre dovrei trasformare la data in venerdì, 12 giugno 2015.

    Ho provato a imbrogliarlo anche con il testo in colonne - data: GMA o MGA, ma anche questo é un fallimento !

    Voi come avete risolto ? Mi date ancora un aiuto ?


    Grazie mille, come sempre, Patrizia



  • di alfrimpa data: 27/01/2016 17:45:48

    Patrizia

    Ho immaginato di avere una userform con una textbox nella quale inserisci la data ed un commandbutton

    Quando clicchi sul pulsante (con la macro che vedi sotto) la data viene inserita correttamente nella cella A1 nel formato che vuoi.

    La seconda macro che ti ho messo, invece, ti mette l'iniziale del giorno in maiuscolo.

    Bye bye

    Alfredo.

    P.S. Studiati la sintassi dell'istruzione "Format"    e dai un'occhiata a questo link

    h t t p://ennius.altervista.org/free/ifvba33.htm
     
    Private Sub CommandButton1_Click()
    Range("a1").Value = Format(Me.TextBox1.Value, "dddd, d mmmm yyyy")
    End Sub
    
    Private Sub CommandButton1_Click()
    Dim mystr As String
    mystr = Format(Me.TextBox1.Value, "dddd, d mmmm yyyy")
    Range("a1").Value = UCase(Left(mystr, 1)) & Mid(mystr, 2, 100)
    End Sub
    
    





  • VBA Formato Data
    di patri.la (utente non iscritto) data: 28/01/2016 15:06:41

    Ciao Alfredo,
    ormai sei il mio Tutor !!!
    Bellissima la battuta "No File No Party" e quindi ho allegato il file.

    Purtroppo la tua istruzione non funziona. Ho provato ancora in mille modi ma non trovo soluzione, ho provato anche a modificare l'istruzione di input da userform al file Records, ma niente.

    Grazie per l'aiuto,
    Patrizia




  • di alfrimpa data: 28/01/2016 15:41:22

    Ciao Patrizia

    Io ho modificato le istruzioni associate alle txtbox di date e, dopo aver provato, mi pare che funzioni.

    Modifica il tuo codice come vedi qui sotto e riprova.

    Tu che problemi hai avuto?

    Quando dici che una cosa non funziona spiega anche perché.

    Alfredo

    P.S. Cerca di non farti risentire tra una settimana
     
    ws.Cells(newRow, 1).Value = Me.txtRegistrazione.Value
    ws.Cells(newRow, 2).Value = Me.cmbTipoVeicolo.Value
    ws.Cells(newRow, 3).Value = Me.cmbMarcaModello.Value
    ws.Cells(newRow, 4).Value = Me.txtTarga.Value
    ws.Cells(newRow, 5).Value = Me.txtTelaio.Value
    ws.Cells(newRow, 6).Value = Me.txtCognomeNome.Value
    ws.Cells(newRow, 7).Value = Format(Me.txtDataIntervento.Value, "dddd, d mmmm yyyy")
    ws.Cells(newRow, 8).Value = Me.cmbOraIntervento.Value
    ws.Cells(newRow, 9).Value = Me.cmbLuogo.Value
    ws.Cells(newRow, 10).Value = Me.txtZona.Value
    ws.Cells(newRow, 11).Value = Me.cmbTrasporto.Value
    ws.Cells(newRow, 12).Value = Me.cmbComando.Value
    ws.Cells(newRow, 13).Value = Me.cmbCitta.Value
    ws.Cells(newRow, 14).Value = Me.cmbAutista.Value
    ws.Cells(newRow, 15).Value = Me.cmbTipoRecupero.Value
    ws.Cells(newRow, 16).Value = Me.txtCausa.Value
    ws.Cells(newRow, 17).Value = Me.txtVerbale.Value
    ws.Cells(newRow, 18).Value = Me.txtSIVES.Value
    ws.Cells(newRow, 19).Value = Format(Me.txtDataRitiro.Value, "dddd, d mmmm yyyy")
    ws.Cells(newRow, 20).Value = Me.cmbOraRitiro.Value
    ws.Cells(newRow, 21).Value = Me.txtAutorizzato.Value
    ws.Cells(newRow, 22).Value = Me.cmbTipoDocumento.Value
    ws.Cells(newRow, 23).Value = Me.txtDocumento.Value
    ws.Cells(newRow, 24).Value = Me.txtDataDemolizione.Value
    ws.Cells(newRow, 25).Value = Me.cmbDemolitore.Value
    ws.Cells(newRow, 26).Value = Me.txtRicevuta.Value
    ws.Cells(newRow, 27).Value = Me.txtFattura.Value
    ws.Cells(newRow, 28).Value = Format(Me.txtDataFattura.Value, "dddd, d mmmm yyyy")
    ws.Cells(newRow, 29).Value = Me.txtNote.Value
    ws.Cells(newRow, 30).Value = Me.cmbStato.Value





  • VBA Formato Data
    di patri.la (utente non iscritto) data: 28/01/2016 16:30:32

    Ciao Alfredo,
    ho visto la tua correzione.
    Sai che ho provato anch'io la stessa cosa ?
    Però adesso ci riprovo, forse ho sbagliato io qualcosa.

    Senz'altro ti faccio sapere, appena testato.

    Grazie mille, Patrizia


  • VBA Formato Data
    di patri.la (utente non iscritto) data: 28/01/2016 16:43:19

    Alfredoooo, grazieeeeeeee !

    F U N Z I O N A perfettamente !!! Evviva !

    Io ho sbagliato perché avevo scritto
    ws.Cells(newRow, 7).Value = Me.txtDataIntervento.Format("dddd, d mmmm yyyy") anziché

    ws.Cells(newRow, 7).Value = Format(Me.txtDataIntervento.Value, "dddd, d mmmm yyyy")

    Grazie mille ancora Alfredo,
    ora per un po' ....... mi riposo dal VBA !