Private Sub Command1_Click()
On Error GoTo ErrHandle
Dim n As Long, i As Long
Dim num As Double
Dim Tmp As Double
n = Val(Text1.Text)
'=====防止错误=====
If n <= 0 Then MsgBox "输入错误!", vbCritical: Exit Sub
'=====正式开始=====
For i = 1 To n
Tmp = 1 / i
num = num + Tmp
Next i
Text2.Text = Str(num)
Exit Sub
ErrHandle:
MsgBox "发生错误! - " & Err.Description
End Sub
追问为什么和图中不一样啊
追答哦,我加了错误处理,和将数据类型变大的处理,防止溢出
当然,可以去除
Private Sub Command1_Click()
Dim n As Integer, i As Integer
Dim num As Double
n = Val(Text1.Text)
'=====防止错误=====
If n <= 0 Then MsgBox "输入错误!", vbCritical: Exit Sub
'=====正式开始=====
For i = 1 To n
Tmp = 1 / i
num = num + Tmp
Next i
Text2.Text = Str(num)
End Sub