inserimento da form e agg con evento change



  • 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