VBA程序设计范例教学总结.docx
文本预览下载声明
VBA 程序 设计 范例
高考VBA程序设计解析
一、累加和问题:
1、基本问题
问题:编程计算1+2+3+…+100;
程序界面:
源代码:
Private Sub Comma nd3_Click()
Dim s As In teger
Dim i As In teger
s = 0
For i = 1 To 100 Step 1 s = s + i
Next i
Text1.SetFocus
Text1.Value = s
End Sub
Private Sub Comma nd4_Click()
DoCmd.Close acForm, VBA 程序设计范例 1 End Sub
2、问题拓展
拓展1:编程计算1+3+5+7+…+99;
源代码修改:
For i = 1 To 99 Step2
s = s + i
Next i
拓展2:编程计算2+4+6+8+…+100;
源代码修改:
For i = 2 To 100 Step 2
s = s + i
Next i
拓展3:编程计算1+2+3+…+N ;
程序界面:
请输人N;
1
计B1+2+3+-.-+K :
计算
遞出
源代码:
Private Sub Comma nd10_Click()
Dim i As In teger
Dim s As In teger
Text3.SetFocus
If Trim(Text3.Text) = Space(0) The n
MsgBox 请输入 N 的值! ”, vbOKOnly
Exit Sub
ElseIf Val(Text3.Text) 1 The n
MsgBox 请输入大于1的正整数! , vbOKO nly
Exit Sub
End If
s = 0
For i = 1 To Val(Text3.Value) Step 1
s = s + i
Next i
Text8.SetFocus
Text8.Value = s
End Sub
拓展4:编程计算
1+(1+2)+(1+2+3)+(1+2+3+4)+ …+(1+2+3+4+ …+100);
程序界面:
计算 1+ (1+2) + (1+2+3) + (1+2+3+4) + - + (1+2+3+4+ +100) : If
计算 退出
源代码:
Private Sub Comma nd3_Click()
Dim i As In teger, j As In teger
Dim s1 As In teger, s2 As Double
s1 = 0
s2 = 0
For i = 1 To 100 Step 1
s1 = 0
Forj = 1 To i
s1 = s1 +j
Next j
s2 = s2 +s1
Next i
Text1.SetFocus
Text1.Text = s2
End Sub
拓展5:编程计算
1+(1+3)+(1+3+5)+(1+3+5+7)+ …+(1+3+5+7+ …+99);
源代码:
Private Sub Comma nd3_Click()
Dim i As In teger, j As In teger
Dim s1 As In teger, s2 As Double
s1 = 0
s2 = 0
For i =
s1 :
=1 To 50 Step 1
=0
For j = 1 To i*2-1 step 2 si = si + j
Next j
s2 = s2 + si
Next i
Textl.SetFocus
Textl.Text = s2
End Sub
3、算法相关问题
编程计算1*2*3*…*100;
提示:内存变量的数据类型的确定;
二、排序问题
1、基本问题
问题:提示用户输入两个数,比较其大小;
第一个数:
第二个數:
第一个数第二个匏
第一个数
第二个匏
比较 退出
源代码:
Private Sub Comma nd4_Click()
Dim a1 As Stri ng
Dim a2 As Stri ng
Dim b1 As In teger
Dim b2 As In teger
Text0.SetFocus
a1 = Trim(Text0.Text)
Text2.SetFocus
a2 = Trim(Text2.Text)
If al = Space(O) Or a2 = Space(OThe n
MsgBox 请输入两个待比较的数! ”, vbOKO nly
Exit Sub
End If
b1 = Val(a1) b2 = Val(a2) Text8.SetFocus
If b1 b2 The n
Text8.Text =小于”
ElseIf b1 = b2 The n
Text8.Text =等
显示全部