Risultati da 1 a 11 di 11

Discussione: Formato "DATA" in una Textbox...



  1. #1

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923

    Formato "DATA" in una Textbox...

    Buongiorno a tutti,

    Volevo chiedere un parere riguardo il formato data delle Textbox.
    In un file che sto aggiornando di volta in volta, mi sono permesso di utilizzare l'userform "Calendario" che GiuseppeMN aveva postato in una discussione su questo forum (OTTIMO LAVORO :246: ).

    In pratica, il calendario viene mostrato appena seleziono la textbox nel foglio "Resoconto". Una volta scelta la data dal calendario e formattata come "data" ("dd/mm/yyyy"), la ricopio nella textbox e successivamente, dalla textbox ricopio la data nella cella "A1" (mi serve per le formule inserite nei fogli "Resoconto" e "Tutti").

    Il problema è che se uso questo codice:

    Codice: 
    Private Sub TextBox1_Change()
    Dim a As Single, m As Single, g As Single
    TextBox1.Value = Format(TextBox1.Value, "dd/mm/yyyy")
    a = Right(TextBox1, 4)
    m = Mid(TextBox1, 4, 2)
    g = Left(TextBox1, 2)
    Worksheets("Resoconto").Range("A1").Value = DateSerial(a, m, g) '<<< questa funziona!!! (ABILITATA)
    'Worksheets("Resoconto").Range("A1").Value = TextBox1 '<<< questa NON funziona!!!
    Worksheets("Resoconto").Range("B4").Select
    End Sub
    La data ricopiata in "A1" ha il formato corretto e viene riconosciuta dalle formule.
    Mentre se attivo l'altra riga:

    Codice: 
    Private Sub TextBox1_Change()
    Dim a As Single, m As Single, g As Single
    TextBox1.Value = Format(TextBox1.Value, "dd/mm/yyyy")
    a = Right(TextBox1, 4)
    m = Mid(TextBox1, 4, 2)
    g = Left(TextBox1, 2)
    'Worksheets("Resoconto").Range("A1").Value = DateSerial(a, m, g) '<<< questa funziona!!!
    Worksheets("Resoconto").Range("A1").Value = TextBox1 '<<< questa NON funziona!!! (ABILITATA)
    Worksheets("Resoconto").Range("B4").Select
    End Sub
    La data viene ricopiata in "A1" ma non viene riconosciuta dalle formule.

    Qualcuno di voi mi può spiegare la differenza?!?
    Io pensavo che avendo già formattato come data il valore della textbox, una volta copiata avrebbe preso anche il formato, invece sembrerebbe quasi che (con il secondo metodo) in “A1” non venga riportata una “data” ma una “stringa”.

    Grazie in anticipo a chi risponderà e Buona Domenica

    P.S.
    Nella spiegazione ho riportato i nomi dei fogli perchè in caso fosse necessario vi allego il file in questione...

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  2. #2
    L'avatar di Textomb
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    47
    Messaggi
    171
    Versione Office
    Excel 2016
    Likes ricevuti
    93
    Likes dati
    11
    ciao Tore. buondì.
    Non conosco il tuo progetto ma io sarei andato per le vie brevi.
    Ricopio il tuo stesso codice con le modifiche.
    Ovviamente non l'ho provato... Mi farai sapere se va bene così.

    Codice: 
    [Private Sub TextBox1_Change()
    'Dim a As Single, m As Single, g As Single
    TextBox1.Value = Format(TextBox1.Value, "dd/mm/yyyy")
    'a = Right(TextBox1, 4)
    'm = Mid(TextBox1, 4, 2)
    'g = Left(TextBox1, 2)
    'Worksheets("Resoconto").Range("A1").Value = DateSerial(a, m, g) '<<< questa funziona!!! 
    Worksheets("Resoconto").Range("A1").Value = CDate(TextBox1) '<<< prova così!!!
    Worksheets("Resoconto").Range("B4").Select
    End Sub

  3. #3

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923
    Ciao Textomb,
    grazie per la risposta, ho provato e funziona.
    Però rimane in piedi la mia domanda :92:

    Perchè è necessario fare una seconda formattazione a "data" quando il valore della "textbox" è già stato formattato in quel modo ???

    Si, lo so, è un pò una "pignoleria", ma visto che sono ancora agli inizi vorrei togliermi da subito i dubbi sulle cose "più semplici" :184:

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  4. #4
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3216
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155
    Ciao Tore e ciao Alberto
    Come certamente saprete (ma adesso vi sfugge) la risposta di una TextBox è sempre una stringa. Ecco perche bisogna riformattarla il testo a data.
    Ti consiglio di leggere: Suggerimenti per l'utilizzo delle caselle di testo della Guida dove al 2° paragrafo dice "La proprietà Text contiene il testo visualizzato nella casella di testo"
    Quindi è un "testo" non formattato (almeno io l'ho sempre interpretata così).

    Ciao,
    Mario

  5. #5
    L'avatar di Textomb
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    47
    Messaggi
    171
    Versione Office
    Excel 2016
    Likes ricevuti
    93
    Likes dati
    11
    la Textbox non ha una formattazione. Bensì un formato in visualizzazione. Resta sempre una textbox. Quindi è una casella di testo. Qualunque formato gli dai resta sempre un Testo.
    Quando fai calcoli sui valori rappresentati sulle Textbox devi sempre utilizzare le funzioni di conversione. CDate, CInt, CLng, CDbl, ecc. ecc.

  6. #6
    L'avatar di A.Maurizio
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Torino
    Età
    56
    Messaggi
    383
    Versione Office
    2013
    Likes ricevuti
    44
    Likes dati
    0
    Ciao Cromagno , provo a Risponderti Io.
    Dunque E perchè , che tu abbia o meno Formattato la Data all'interno della TextBox ho meno , la Realtà è che trè Il Foglio di calcolo e la userForm , cono tutto il suo insieme di oggetti , non c'è Intesa.
    Nel semsao che un conto e riportare lo stessa dato trà una Textbox e una label piutosto che una ListBox .
    E un conto e Condividere gli stessi dati ma tra due oggetti Diffetenti , con differenti caratteristiche.
    Non sò se sono riuscito a farti vapire il Concetto spero di si ! ciao e alla prossima.

  7. #7

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923
    Citazione Originariamente Scritto da Marius44 Visualizza Messaggio
    Ciao Tore e ciao Alberto
    Come certamente saprete (ma adesso vi sfugge) la risposta di una TextBox è sempre una stringa. Ecco perche bisogna riformattarla il testo a data.
    Ti consiglio di leggere: Suggerimenti per l'utilizzo delle caselle di testo della Guida dove al 2° paragrafo dice "La proprietà Text contiene il testo visualizzato nella casella di testo"
    Quindi è un "testo" non formattato (almeno io l'ho sempre interpretata così).

    Ciao,
    Mario
    Ciao Mario,
    perfetto :246:

    Sinceramente non ero a conoscenza di questa "peculiarità" (di solito imparo man mano che incontro problemi :184: ), ma come detto prima, sembrava proprio che si comportasse come hai descritto.

    Grazie Mario e grazie Alberto.... dubbio fugato :246:

    [EDIT]
    Ops... avete risposto tutti mentre scrivevo.
    Grazie anche a te Maurizio ;)

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  8. #8

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923
    Lascio il file in allegato giusto per farvi vedere....

    Discussione RISOLTA.... Grazie.

    File:
    http://dropcanvas.com/c7ug8

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  9. #9

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300
    Ciao Cromagno,
    un gran bel lavoro, complimenti!:98:
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  10. #10

    L'avatar di cromagno
    Clicca e Apri
    Data Registrazione
    Aug 2015
    Località
    Sardegna
    Età
    37
    Messaggi
    4019
    Versione Office
    2013
    Likes ricevuti
    1228
    Likes dati
    923
    Citazione Originariamente Scritto da ges Visualizza Messaggio
    Ciao Cromagno,
    un gran bel lavoro, complimenti!:98:
    Grazie ges,
    ma è mooolto migliorabile, diciamo che è una prima stesura ma almeno non mi stresso ad aggiungere e cancellare fogli,tabelle, query, etc... :184:

    "Sono le persone che nessuno immagina che possano fare certe cose, quelle che fanno cose che nessuno può immaginare."

  11. #11
    L'avatar di GiuseppeMN
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Mantova
    Messaggi
    864
    Versione Office
    2000 - 2013
    Likes ricevuti
    285
    Likes dati
    160
    Buona giornata, cromagno;
    riesco a rispondere solo ora.
    Solo due considerazioni:
    - la Soluzione proposta da Textomb (che saluto), mi sembra la più immediata.
    Visto che siamo in un clima di "risparmio", proverei a semplicarla ulteriormente togliendo l'informazione:
    Codice: 
    TextBox1.Value = Format(TextBox1.Value, "dd/mm/yyyy")
    Dovrebbe funzionare ugualmente.

    Per quanto riguarda:
    @cromagno, scrive
    ... in un file che sto aggiornando di volta in volta, mi sono permesso di utilizzare l'userform "Calendario" che GiuseppeMN aveva postato in una discussione su questo forum ...
    Vedrò di comunicarti ... il mio IBAN/BIC sul quale potrai accreditare 0,10 € (trattabili!) ad ogni Click sul Calendario; mi fido di Te!

    Scherzi a parte sono veramente lieto che un mio, se pur modesto lavoro, ti sia servito come spunto per il Tuo Prospetto.


    A disposizione.

    Buon Lavoro e buona serata.

    Giuseppe
    Windows XP Excel 2000 - Windows 10 Excel 2013

Discussioni Simili

  1. [Risolto] Text box formato data
    Di raffaelealta nel forum Domande su Excel VBA e MACRO
    Risposte: 5
    Ultimo Messaggio: 13/02/17, 22:58
  2. Trasformare il formato cella da formato data a formato normale
    Di para siempre nel forum Domande su Excel in generale
    Risposte: 13
    Ultimo Messaggio: 12/03/16, 01:23
  3. Formato data in CONCATENA
    Di bobparr nel forum Domande su Excel in generale
    Risposte: 11
    Ultimo Messaggio: 26/02/16, 16:19
  4. Excel 2010 dal calendario inserire la data su TextBox o Label.
    Di Pacifico437 nel forum Domande su Excel VBA e MACRO
    Risposte: 15
    Ultimo Messaggio: 07/01/16, 18:51
  5. quiz # 8 formato data
    Di Gerardo Zuccalà nel forum Domande su Excel in generale
    Risposte: 12
    Ultimo Messaggio: 22/06/15, 17:26

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •