第一个问题:

程序代码:
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Dim a As Double   '你定义的的是过程级变量
Dim b As Double   '你定义的的是过程级变量
a = Sqr(Val(Text1.Text))   '前面 Text1.Text = ""了。那么a的值应该是0
b = Val(Text2.Text) + Val(Text3.Text)   '前面 Text2.Text = ""、Text3.Text = ""了。那么b的值应该是0
End Sub
第二个问题:
Private Sub Command1_Click()
Text4 = a / b    '变量a、b无值,不存在!
Text5 = Sin(Val(Text1.Text) * pi / 180)   '变量pi=0,因此,Text5。Text=0
End Sub
修改代码:

程序代码:
Dim a As Double   '必须定义为模块级变量
Dim b As Double   '必须定义为模块级变量
Dim pi As Single    '定义pi变量
Private Sub Command1_Click()
pi = 3.1415926
If Val(Text1.Text) < 0 Then   '判断Text1的值
    MsgBox "Text1的值必须大于0"
    Exit Sub
End If
If Val(Text2.Text) = 0 Then   '判断Text2的值
    MsgBox "Text2的值必须不能等于0"
    Exit Sub
End If
If Val(Text3.Text) = 0 Then   '判断Text3的值
    MsgBox "Text3的值必须不能等于0"
    Exit Sub
End If
'经过上面的判断,下面运算才不会出错!
a = Sqr(Val(Text1.Text))   '在这里赋值
b = Val(Text2.Text) + Val(Text3.Text)   '在这里赋值
Text4 = a / b    '这样a、b才会有值
Text5 = Sin(Val(Text1.Text) * pi / 180)   '变量pi=0,因此,Text5。Text=0
End Sub
Private Sub Form_Load()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub