Condividi:        

inserire data senza / in textbox

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

inserire data senza / in textbox

Postdi matzap » 10/10/15 10:59

Ciao A tutti,
ho questo codice che mi permette di inserisce gli / della data in automatico durante la digitazione:
Codice: Seleziona tutto
Private Sub TextBox1_Change()
x = Len(TextBox1)
Y = LTrim(TextBox1.Text)

If x = 2 And IsNumeric(Y) Then
       TextBox1 = Y & "/"
       End If
If x = 5 Then
    TextBox1 = Y & "/"
End If

If x = 8 Then
UserForm1.TextBox2.SetFocus
End If

End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'If CmdButton5_Click = False Then
   If TextBox1.Value = "" Then
   MsgBox "inserisci data"
    'Cancel = True
   Else
TextBox1 = Format(TextBox1, "dd/mm/yyyy")
'End If
End If
End Sub


funziona bene in fase di compilazione ma male in fase di cancellazione per esempio a causa di un errore di digitazione:
dopo il quinto carattere si aggiunge uno / , se provo a cancellarlo i caratteri tornano ad essere 5 e si aggiunge nuovamente uno 7. In questo modo non riesco mai a cancellare le cifre del mese.
come posso fare?
Ciao
excel 2010
matzap
Utente Senior
 
Post: 246
Iscritto il: 16/04/13 08:27

Sponsor
 

Re: inserire data senza / in textbox

Postdi Marius44 » 11/10/15 16:45

Il sistema che usi non mi pare sia il migliore per l'inserimento di date: non c'è alcun controllo. Se, ad esempio, vuoi inserire questa data: 4 1 16 la sub di textbox1 scriverebbe 41/16/ e resta in attesa delle altre due cifre per l'anno ma il giorno 41 non esiste nè, tantomeno, il mese 16. Penso che sia meglio utilizzare 3 textbox dove nella prima inserisci il giorno (con un controllo prima di uscire se il giorno è valido - meglio sarebbe far "selezionare" un giorno da un elenco a discesa utilizzando una ListBox), poi inserire il mese nella seconda textbox (vale quanto detto prima con un ulteriore controllo per i mesi di 30 giorni ed il mese di febbraio max 29), quindi inserire l'anno (le ultime due cifre oppure quattro cifre ma facendo un controllo per l'anno bisestile se febbraio è 29). Quando esci dalla terza TextbBox (ovvero ListBox) ti costruisci la data - con il codice - e sei sicuro che è corretta. Se devi cambiare qualcosa puoi farlo quando vuoi, priva dell'eventuale registrazione dei dati (penso, tramite un pulsante).
Ciao e buon lavoro,
Mario
Marius44
Utente Senior
 
Post: 655
Iscritto il: 07/09/15 22:00


Torna a Applicazioni Office Windows


Topic correlati a "inserire data senza / in textbox":


Chi c’è in linea

Visitano il forum: Nessuno e 117 ospiti