inserimento da form e agg con evento change
Hai un problema con Excel?
inserimento da form e agg. con evento change
di ffante (utente non iscritto) data: 12/08/2017 14:36:24
buon giorno sto costruendo una form per inserimento dati su un foglio,
il mio problema si verifica quando inserisco i dati le celle non si aggiornano le formattazioni sulla colonna D dopo l'inserimento.
allego un file bozza
di Vecchio Frac data: 12/08/2017 15:48:58
Devi formattare il valore restituito dalla textbox in un valore numerico (la textbox restituisc eun testo).
Ad esempio prova così:
Cells(iRow, 4) = CCur(TextBox2)
di Vecchio Frac data: 12/08/2017 16:09:19
Farai meglio anche a controllare, per prudenza, prima della conversione in formato Currency, che la casella di testo non sia vuota.
Nota: mi piace l'idea del msgbox di WScript, che permette la temporizzazione del messaggio e lo toglie di mezzo allo spirare dei secondi fissati. Inoltre non è interrompibile con Ctrl-Break. Bravo :)
Dim obj As Object, strMsg As String
Set obj = CreateObject("WScript.Shell")
strMsg = obj.popUp(" Inserimento avvenuto con successo ", 3, " @ by @ by @ by @ by @ by @", vbInformation)
di ffante data: 12/08/2017 16:56:49
non lo posso utilizzare perchè le Textbox sono due o viene compilata la textbox1 oppure la
textbox2 nella form sono sovrapposte e ho cercato di farle abilitare in funzione della
option button selezionata.
di ffante data: 12/08/2017 17:08:39
non so se si possa fare, utilizzando sempre la stessa textbox utilizzando una if in funzione della option button il formato Currency lo posso utilizzare senza errore, provo se va.
franco
di ffante data: 12/08/2017 17:24:28
Grazie vecchio Frac i tuoi buoni consigli mi aiutano sempre ad arrivare alla soluzione,
ho provato a scrivere questo codice e sembra che funzioni perfettamente.
Comunque grazie per i consigli che riesco a raccogliere nel forum.
grazie 1000
franco
If OptionButton1 = True Then
Cells(iRow, 4) = CCur(TextBox1)
ElseIf OptionButton2 = True Then
Cells(iRow, 4) = CCur(TextBox1)
ElseIf OptionButton3 = True Then
Cells(iRow, 4) = CCur(TextBox1)
ElseIf OptionButton4 = True Then
Cells(iRow, 4) = CCur(TextBox1)
ElseIf OptionButton5 = True Then
Cells(iRow, 4) = CCur(TextBox1)
ElseIf OptionButton6 = True Then
Cells(iRow, 4) = CCur(TextBox1)
ElseIf OptionButton7 = True Then
Cells(iRow, 4) = CCur(TextBox1)
ElseIf OptionButton8 = True Then
Cells(iRow, 3) = CCur(TextBox1)
Else
End If
|
di Vecchio Frac data: 12/08/2017 17:41:00
Ma è orribile ^_^ e non ha senso.
Come vedi, imposti sempre Cells(iRow, 4) al valore (convertito) di TextBox1, per cui è indifferente quale sia il valore degli option button (tranne l'ultimo caso).
Per cui ti basta differenziare solo due casi, quello dell'option button 8 e quello degli altri.
if optionbutton8 = true then
cells(iRow, 3) = iif(textbox1 <> "", ccur(textbox1, 0)
else
cells(iRow, 4) = iif(textbox1 <> "", ccur(textbox1, 0)
end if |
di ffante data: 12/08/2017 17:59:38
Sei un grande, frequento il forum sempre per imparare le vostre soluzioni sono sempre le
migliori grazie.
franco
Vuoi Approfondire?