Salve
l'istruzione per controllare la textbox della quantità l'hai già utilizzata ( a mio parere in una posizione non corrretta)
Hai usato questa:
If Not IsNumeric(TextBox3.Text) Then
MsgBox "Inserire solo numeri!", Title:="Errore"
nell'evento exit della Textbox
se la metti in capo alla macro del commandbutton2 il controllo avviene nel momento della registrazione.
in questo modo:
Private Sub CommandButton2_Click()
ActiveSheet.Unprotect "pp"
If Not IsNumeric(TextBox3.Text) Then
MsgBox "Manca la quantità", Title:="Errore"
Exit Sub
End If
With Sheets("Calcolo")
....
....
....
Inoltre l'istruzione che segue:
If IsNull(Me.ComboBox1.Text) Then
MsgBox "Inserisci i dati", Title:="Errore"
Else
...
non ha alcun senso, perchè solo immettendo una scelta nella comobox1 vengono attivati tutti gli altri controlli.
se non metti nulla puoi solo uscire dalla form.
saluti
Giap