Salve,
creo un form con 6 textbox.
La textbox1 contiene la qta 1 e la textbox2 contiene il prezzo 1, tramite il seguente codice all'apertura della form i ralativi valori vengono caricati.
Private Sub UserForm_Initialize()
CELL1ATT = ActiveCell.Address(False, False)
If Not Intersect(ActiveCell, Range("AL20", "AL25")) Is Nothing Then
TextBox1.Text = Range(CELL1ATT)
CELL2ATT = "AK" & Right$(CELL1ATT, 2)
TextBox2.Text = Range(CELL2ATT)
End If
End Sub
La textbox3 che contiene la qta 2 e la textbox4 che contiene il prezzo 2 vengono scritte manualmante.
Nella textbox5 comparirà la somma della textbox1 (qta 1) e della textbox3 (qta 2),
nella textbox6 comparirà la media in base alle quatità e ai prezzi 1 e prezzi 2 (rispettivamente textbox 3 e 4).
per fare questo nel codice della textbox3 ho scritto :
Private Sub TextBox3_Change()
TextBox5.Text = Val(TextBox1.Text) + Val(TextBox3.Text) 'fà la somma delle quantità e la scrive nella textbox5
End Sub
nella codice della textbox4 invece ho scritto :
Private Sub TextBox4_Change()
'calcola la media e la scrive nella textbox6
TextBox6.Text = ((TextBox1.Text * TextBox2.Text) + (TextBox3.Text * TextBox4.Text)) / TextBox5.Text
End Sub
e fino a quì mi funziona tutto, ora però se dovessi cambiare la qtà nella textbox3 (qtà 2) il valore della textbox6 (prezzo medio)rimarrebbe sempre lo stesso invece di essere ricalcolato allora ho scritto nel codice della textbox5 il seguente codice in modo che ogni volta che cambiasse il suo valore ricalcolasse la media :
Private Sub TextBox5_Change()
TextBox6.Text = ((TextBox1.Text * TextBox2.Text) + (TextBox3.Text * TextBox4.Text)) / TextBox5.Text
End Sub
Ora però mi succede che ogni volta che avvio la form nel momento in cui vado a mettere manualmente il dato della qtà 2 nella textbox3 mi dà il seguente errore :
Errore di RunTime 13
Tipo non corrispondente
Come posso risolvere ?
Grazie