Oppure

Loading
12/01/09 7:22
salvewa
ho creato una userform nella quale ho inserito alcuni textbox che invieranno i dati digitati in una serie di celle di un foglio excel. Tutto funziona tranne il txtbox dove inserire la data e il txtbox dove inserire l'orario.
Di seuito descrivo il codice che che utilizzo relativo al txtbox per la data:

Private Sub txtDataArr_Change()
txtDataArr = Format(txtDataArr, “dd-mm-yy”)
If Len(txtDataArr.Text) = 8 Then
txtOraArr.SetFocus
End If
End Sub

Non appena digito un solo numero nel txtbox data in questione parte autom. tutta la data es. digito 1 e compone 31/12/99; 2 e compone 01/01/00 e così via. Ovviamente vorrei essere io a digitare tutta la data che mi serve inserire e non che il txtbox lo faccia autom. oltretutto sbagliando.
Mi sono accorto che una volta inviati i dati sul foglio excel la data viene trasferita nella casella per es. a3 senza mantenere il formato data o ora nonostante questi campi erano già stati formattati: uno con form. data ed uno ora.
Cosa devo correggere nell'esempio che vi ho posto.
Sempre sullo stesso codice mi fareste cortesemente un es. per il txtbox ora.
Grazie anticipatamente per la Vs attenzione.
aaa
12/01/09 12:52
tippolo
Postato originariamente da salvewa:

Private Sub txtDataArr_Change()
txtDataArr = Format(txtDataArr, “dd-mm-yy”)
If Len(txtDataArr.Text) = 8 Then
txtOraArr.SetFocus
End If
End Sub



Lerrore è qui:
Private Sub txtDataArr_Change
Non devi usare l'evento Change, perchè giustamente esegue il codice ad ogni modifica del texbox.
Potresti utilizzare l'evento LostFocus in modo di avere la data formattata una volta usciti dalla Text

Ciao
aaa
12/01/09 13:49
P4p3r0g4
altrimenti controlli quando ci sono un numero fissato di caratteri fai partire la sostituzione.
aaa
12/01/09 15:03
salvewa
Fantastico grazie mille funziona perfettamente.

Posso chiederti cortesemente, se non ti creo problemi, di postarmi, all'interno della TextBox, il codice con il quale cambiado la text e non scrivendo nulla, essa in automatico mi dia zero(0) appunto nella text.
Come hai capito sono un neofita o giù di lì.
Mi farebbe immenso piacere impare almeno qualcosa da professionisti come voi.
Ancora grazie mille
aaa
12/01/09 15:18
P4p3r0g4

Private Sub txtDataArr_Change()
If txtDataArr.Text = "" Then
txtDataArr.Text = "0"
End If
End Sub
aaa
12/01/09 17:06
salvewa
Innanzitutto grazie per la tua gentilezza.
Ti segnalo che il codice che mi hai inviato non pone lo zero automat. quando cambio la text. Zero si imposta in automat. solo dopo che in quella text ho digitato qualsiasi cosa è la ho cancellata. Es. digito 1, subito lo cancello e compare zero che non si cancella più.
Ti ringrazio infinitamente per la tua attenzione dimostratami a prescindere se potrai o no darmi una ulteriore mano per risolvere il problema.
Grazie grazie mille
aaa
12/01/09 19:35
GrG
Paperoga che mi combini? lol

cmq è semplice il codice basta che olte il:
Private Sub txtDataArr_Change()
If txtDataArr.Text = "" Then
txtDataArr.Text = "0"
End If
End Sub

nella sub form_load metti sempre:
If txtDataArr.Text = "" Then
txtDataArr.Text = "0"
End If
aaa
12/01/09 21:12
salvewa
Grazie un milione di volte.
Tutto funziona benissimo grazie a te.
Se tutti gli iscritti sono cordiali, bravi e disponibili come te sono già e sarò senza parole.
Scusami se son stato paperoga ma ne è valsa la pena ho già imparato qualcosa in più.
Tutto grazie alla tua gentilezza.
Ti saluto e ancora GRAZIE :k:
aaa