I'm having a problem with the code, my program always works, but sometimes (I don't know why) the variable A2 (only happens with this one) is not passed and takes value 0, because this could be happening?
VBA Code:
Private Sub cb_Agrid_Click()
If Not IsNumeric(in_A2.Value) Or Trim(in_A2.Text) = "" Then
MsgBox "'Table Side (Primeiro Campo) ' está vazio ou contém letras", vbExclamation
ElseIf Not IsNumeric(in_A4.Value) Or Trim(in_A4.Text) = "" Then
MsgBox "'Table Side (Segundo Campo) ' está vazio ou contém letras", vbExclamation
ElseIf Not IsNumeric(in_A1.Value) Or Trim(in_A1.Text) = "" Then
MsgBox "'Spindle Side (Primeiro Campo) ' está vazio ou contém letras", vbExclamation
ElseIf Not IsNumeric(in_A3.Value) Or Trim(in_A3.Text) = "" Then
MsgBox "'Spindle Side (Segundo Campo) ' está vazio ou contém letras", vbExclamation
ElseIf Not IsNumeric(in_A_orig.Value) Or Trim(in_A_orig.Text) = "" Then
MsgBox "'1850 A Parameter' está vazio ou contém letras", vbExclamation
'Caso contrário os valores inseridos são atribuídos ás variáveis correspondentes
Else
Dim TestBar, Indicator1, Indicator2, Indicator3, Indicator4, GridDif180, GridDif, GridDif0, A_Grid As Double
A2 = in_A2.Value
A4 = in_A4.Value
TestBar = in_TestBarLength.Value
Indicator1 = in_A1.Value / 1000
Indicator2 = in_A2.Value / 1000
Indicator3 = in_A3.Value / 1000
Indicator4 = in_A4.Value / 1000
GridDif0 = (Indicator2 - Indicator1)
GridDif180 = (Indicator4 - Indicator3)
A_Grid_Orig = in_A_orig.Value
GridDif = ((GridDif0 - GridDif180) / 2) * -1
A_Grid = Atn(GridDif / TestBar) * 57.2957795130823
A_Grid = Format(A_Grid, "0.####") * 10000
out_Agrid.Value = A_Grid
A_Grid_Final = A_Grid_Orig + A_Grid
out_Agrid_Final.Value = A_Grid_Final
End If
End Sub