VBA程序设计范例.docx

上传人:b****4 文档编号:11986356 上传时间:2023-04-16 格式:DOCX 页数:14 大小:77.43KB
下载 相关 举报
VBA程序设计范例.docx_第1页
第1页 / 共14页
VBA程序设计范例.docx_第2页
第2页 / 共14页
VBA程序设计范例.docx_第3页
第3页 / 共14页
VBA程序设计范例.docx_第4页
第4页 / 共14页
VBA程序设计范例.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

VBA程序设计范例.docx

《VBA程序设计范例.docx》由会员分享,可在线阅读,更多相关《VBA程序设计范例.docx(14页珍藏版)》请在冰豆网上搜索。

VBA程序设计范例.docx

VBA程序设计范例

高考VBA程序设计解析

一、累加和问题:

1、基本问题

问题:

编程计算1+2+3+…+100;

程序界面:

源代码:

PrivateSubCommand3_Click()

DimsAsInteger

DimiAsInteger

s=0

Fori=1To100Step1

s=s+i

Nexti

=s

EndSub

PrivateSubCommand4_Click()

acForm,"VBA程序设计范例1"

EndSub

2、问题拓展

拓展1:

编程计算1+3+5+7+…+99;

源代码修改:

Fori=1To99Step2

s=s+i

Nexti

拓展2:

编程计算2+4+6+8+…+100;

源代码修改:

Fori=2To100Step2

s=s+i

Nexti

拓展3:

编程计算1+2+3+…+N;

程序界面:

源代码:

PrivateSubCommand10_Click()

DimiAsInteger

DimsAsInteger

IfTrim=Space(0)Then

MsgBox"请输入N的值!

",vbOKOnly

ExitSub

ElseIfVal<1Then

MsgBox"请输入大于1的正整数!

",vbOKOnly

ExitSub

EndIf

s=0

Fori=1ToValStep1

s=s+i

Nexti

=s

EndSub

拓展4:

编程计算1+(1+2)+(1+2+3)+(1+2+3+4)+…+(1+2+3+4+…+100);

程序界面:

源代码:

PrivateSubCommand3_Click()

DimiAsInteger,jAsInteger

Dims1AsInteger,s2AsDouble

s1=0

s2=0

Fori=1To100Step1

s1=0

Forj=1Toi

s1=s1+j

Nextj

s2=s2+s1

Nexti

=s2

EndSub

拓展5:

编程计算1+(1+3)+(1+3+5)+(1+3+5+7)+…+(1+3+5+7+…+99);

源代码:

PrivateSubCommand3_Click()

DimiAsInteger,jAsInteger

Dims1AsInteger,s2AsDouble

s1=0

s2=0

Fori=1To50Step1

s1=0

Forj=1Toi*2-1step2

s1=s1+j

Nextj

s2=s2+s1

Nexti

=s2

EndSub

3、算法相关问题

编程计算1*2*3*…*100;

提示:

内存变量的数据类型的确定;

二、排序问题

1、基本问题

问题:

提示用户输入两个数,比较其大小;

源代码:

PrivateSubCommand4_Click()

Dima1AsString

Dima2AsString

Dimb1AsInteger

Dimb2AsInteger

a1=Trim

a2=Trim

Ifa1=Space(0)Ora2=Space(0)Then

MsgBox"请输入两个待比较的数!

",vbOKOnly

ExitSub

EndIf

b1=Val(a1)

b2=Val(a2)

Ifb1

="小于"

ElseIfb1=b2Then

="等于"

Else

="大于"

EndIf

EndSub

2、问题拓展

拓展1:

有一组数:

3,2,7,1,5,4,12,10,8,6,请找出这组数的最小(大)值;

程序界面:

 

源代码:

PrivateSubCommand4_Click()

DimmaxvalueAsInteger

DimminvalueAsInteger

Dimarr(1To10)AsInteger

arr

(1)=3

arr

(2)=2

arr(3)=7

arr(4)=1

arr(5)=5

arr(6)=4

arr(7)=12

arr(8)=10

arr(9)=8

arr(10)=6

maxvalue=arr

(1)

minvalue=arr

(1)

Fori=2To10

Ifarr(i)>maxvalueThen

maxvalue=arr(i)

EndIf

Ifarr(i)

minvalue=arr(i)

EndIf

Nexti

=maxvalue

=minvalue

EndSub

拓展2:

有一组数:

3,2,7,1,5,4,12,10,8,6,请按升序排序输出这组数;

程序界面:

源代码:

PrivateSubCommand4_Click()

Dimarr(1To10)AsInteger

arr

(1)=3

arr

(2)=2

arr(3)=7

arr(4)=1

arr(5)=5

arr(6)=4

arr(7)=12

arr(8)=10

arr(9)=8

arr(10)=6

Fori=1To9

Forj=i+1To10

Ifarr(i)>arr(j)Then

temp=arr(i)

arr(i)=arr(j)

arr(j)=temp

EndIf

Nextj

Nexti

Fori=1To10

=&arr(i)&","

Nexti

EndSub

拓展3:

输入一组数,请按升序排序输出这组数;

程序界面:

源代码:

PrivateSubCommand6_Click()

Dimarr(1To10)AsInteger

DimiAsInteger

DimjAsInteger

DimtempAsInteger

Dims1AsString

Fori=1To10

arr(i)=InputBox("请输入第"&i&"个数:

")

s1=s1&arr(i)&","

Nexti

=s1

Fori=1To9

Forj=i+1To10

Ifarr(i)>arr(j)Then

temp=arr(i)

arr(i)=arr(j)

arr(j)=temp

EndIf

Nextj

Nexti

Fori=1To10

=&arr(i)&","

Nexti

EndSub

三、窗体设计

1、基本问题

源代码:

PrivateSubCommand11_Click()

OnErrorGoToErr_Command11_Click

,acFirst

Exit_Command11_Click:

ExitSub

Err_Command11_Click:

MsgBox

ResumeExit_Command11_Click

EndSub

PrivateSubCommand12_Click()

OnErrorGoToErr_Command12_Click

,acPrevious

Exit_Command12_Click:

ExitSub

Err_Command12_Click:

MsgBox

ResumeExit_Command12_Click

EndSub

PrivateSubCommand13_Click()

OnErrorGoToErr_Command13_Click

,acNext

Exit_Command13_Click:

ExitSub

Err_Command13_Click:

MsgBox

ResumeExit_Command13_Click

EndSub

PrivateSubCommand14_Click()

OnErrorGoToErr_Command14_Click

,acLast

Exit_Command14_Click:

ExitSub

Err_Command14_Click:

MsgBox

ResumeExit_Command14_Click

EndSub

2、问题拓展

拓展1:

窗体查询1

源代码:

①SQL查询部分:

SELECT*FROM学生学籍

WHERE姓名likeforms!

窗体查询_主子窗体②子窗体的源对象设置为查询对象;

③查询按钮单击事件代码:

PrivateSubCommand6_Click()

DimstudnameAsString

studname=Trim

Ifstudname=Space(0)Then

MsgBox"请输入学生姓名!

",vbOKOnly

Else

If

EndSub

拓展2:

窗体查询2

 

源代码:

①SQL查询部分:

SELECT学生学籍.班级编号,学生学籍.学号,学生学籍.姓名,学生成绩.学期,学生成绩.语文,学生成绩.数学,学生成绩.英语,学生成绩.专业一,学生成绩.专业二,学生成绩.总分

FROM学生学籍INNERJOIN学生成绩ON(学生学籍.学号=学生成绩.学号)AND(学生学籍.班级编号=学生成绩.班级编号)

WHERE姓名likeforms!

窗体查询_主子窗体②子窗体的源对象设置为查询对象;

③查询按钮单击事件代码:

PrivateSubCommand6_Click()

DimstudnameAsString

studname=Trim

Ifstudname=Space(0)Then

MsgBox"请输入学生姓名!

",vbOKOnly

Else

If

EndSub

精心搜集整理,只为你的需要

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1