Se hai comperato Excel hai anche ricevuto strumenti smart per l' input delle date, quali il DatePicker.
Quindi butta a mare il TextBox, anzi usalo solo per quello che e' progettato a fare (l' input di testi) e fatti dare la data dal DatePicker: si sceglie sul calendario, non c' e' l'equivoco dei mesi all'italiana o all'americana, la visualizzazione e' gia' fatta.
Se non trovi il DTPicker nella casella degli strumenti allora cercalo in Menu /Strumenti /Controlli aggiuntivi, alla voce "Microsoft Date and Time Picker Control": lo spunti per visualizzarlo nella casella strumenti, poi lo inserisci sulla form invece del textbox dove chiedi la data.
Se vuoi impostarlo alla data odierna nella userform initialize inserirai
- Codice: Seleziona tutto
Me.DTPicker1.Value = Int(Now())
Per leggere la data impostata userai qualcosa come
- Codice: Seleziona tutto
myData= Userform1.DTPicker1.Value
Quanto al problema che segnali:
Con ad esempio "txtG = Format(txtG, "dd/mm/yyyy")" faccio il controllo e forzo il formato.
Questa istruzione non fa nessun controllo sul dato inputato; quanto a forzare il formato, volendo usare un formato "data" dovresti come minimo controllare che nel textbox ci sia qualcosa convertibile in una data (es tramite la Funzione IsDate) e poi convertirla effettivamente con una istruzione tipo DateValue(TextBoxText) o meglio CDate(TextBoxText)
Questo solo a uso teorico, perche' do' per scontato che vai a usare il DatePicker.
Ciao