


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
EXCEL中BASIC程序的运行在微软的电子表格软件EXCEL中,附有一个功能很强的编程语言-Visual Basic for Applications(本文中简称为VBA)。这实际上是微软的Visual Basic的化身,微软从Visual Basic中删去了表格设计器(Forms Designer)后,将它附属于EXCEL,并用对话表取代了表格设计器。另外,微软使VBA能够存取EXCEL的所有命令和对象(例如单元格、工作表等)。正因为如此,VBA可以控制EXCEL的所有功能,所以VBA是兼容了BASIC编程语言的命令和语法的EXCEL应用软件的超级宏语言。在EXCEL和VBA出现之前,许多计算机用户都有一些用BASIC语言编写的应用程序。当计算机的操作平台升级为Windows,办公软件变成Office后,Windows界面下的软件直观、易用,使得人们再用那些DOS下BASIC程序时感觉十分别扭。所幸的是,BASIC和VAB同出于微软公司,使得我们能比较容易地将这些过去的程序转为EXCEL中的VBA。转化后的程序利用EXCEL的界面输入输出数据,既直观又方便,有着源程序不可比拟的优点。以下就介绍一下如何完成这个从BASIC到VBA的转换。在EXCEL里,一段程序称为一个“宏”。记录程序的界面叫“模块表”。要把BASIC的源程序输入EXCEL,首先要找到模块表。模块表的调入在Office 95中与Office 97略有不同,这里以Office 95中的EXCEL为例进行叙述。在EXCEL中按以下顺序选菜单:选“插入”,再选“宏表”,再选“模块表”,这时就会出现一张空白的模块表。 在模块表里输入程序,最简单的方法是把源程序直接用键盘输入。如果你的源程序能够被Office中的WORD或Windows中的书写器、写字板等读出,那么就可利用“复制”、“粘贴”的功能将源程序贴到模块表里。在许多情况下,WORD读出来的BASIC源程序往往是一些不可识别的字符,无法直接复制。这里介绍另一种复制方法:在Windows下选中“MS-DOS方式”,就会打开一个DOS的窗口,在这个窗口里运行BASIC编程语言(如GWBASIC等)。加载(LOAD)想要转换的源程序,用BASIC中的LIST命令就会在窗口中看到若干行源程序。将鼠标移到窗口的上部工具栏里点击“标记”键,窗口的左上角会出现一个光标,在按住SHIFT键的同时用方向键移动光标到窗口右下角,这时整个窗口都被点亮,再移动鼠标到窗口上部的工具栏点击“复制”键,再将DOS窗口极小化,打开EXCEL,调出模块表,用EXCEL里的“粘贴”键就可把DOS窗口里的源程序粘在模块表里,不断地重复这一过程就可把整个源程序复制到EXCEL里。源程序进入模块表后就可以对其进行重新编辑。因为VBA是兼容了BASIC编程语言的命令和语法的宏语言,所以BASIC的大部分程序行不用改写就可以直接运行,要改动的只有以下几个方面:1给这段程序(宏)起个名字。比如起名为test,则在程序的开头加上Sub test()语句,在程序的结尾加上End Sub语句。2注意变量与数组不要重名。在BASIC中,允许有一个变量A和一个数组A(10)同时存在,而VBA中必须把其中一个改为A1或AA。3输入语句。在BASIC中,数据的输入是用INPUT或READ语句;在VBA中,可以把要输入的数据放到EXCEL工作表指定的单元格里,然后用对象存储的CELLS方法去读这些数据。例如在BASIC中: 100 READ A,B 120 DATA 10,20 表示将数值10和20分别赋予变量A和B;在VB中: A = Worksheets (Sheet1).Cells(1,1) B = Worksheets (Sheet1).Cells(1,2) 表示把EXCEL工作表Sheet1中第一行第一列单元格(A1单元)中的值赋给变量A;第一行第二列单元格(B1单元)中的值赋给变量B。只要在运行程序前将数值10和20分别放在A1和B1单元格里,其效果同上面的READ语句是一样的。在程序的运行中,有时需要中间停顿一下,根据前一段运行情况再输入一些数据,在BASIC中,这种情况一般是用INPUT语句;在VBA中,可采取在输入数据之前设一个STOP语句的方法,然后在指定的单元格里填入要输入的数据,再让程序继续运行(在EXCEL菜单中选择“继续运行”即可)。或者,你也可以用InputBox( )函数创建一个对话框进行输入。下面就是创建对话框的语句: X1 = 请输入金额 X2 = 输入对话框 X = InputBox(X1,X2) 当程序运到这一句时,屏幕上会出现这样一个对话框: 输入对话框 请输金额 确定 取消 只要你在框中输入文字,用鼠标点一下“确定”,这时变量X的值就等于你输入的文字。程序继续运行。值得注意的是,如果你想输入的是数字,则必须用Val()函数转换一下,即在上述三句后多加一个语句: X = Val(X)4输出语句。在BASIC中,程序运行结果的输出一般用的是PRINT或LPRINT语句,例如:PRINT C 表示将变量C的值显示在屏幕上。LPRINT D 表示将变量D的值输出到打印机。有时还用LPRINT语句打印出各种曲线。在VBA中,可以用对象存储的CELLS方法将变量的值存放在EXCEL的某个工作表的某单元格上。为了使输出与输入的数据分开,输出的数据可以放在与输入数据不同的表上,如输入放在Sheet1上,输出就放在Sheet2上。如下例: Worksheets(Sheet2).Cells(2,5)=C Worksheets(Sheet2).Cells(2,6)=D 分别表示将C和D 的值放在Sheet1表的第二行第五列(E2单元)和第二行第六列(F2单元)上。程序运行后,在Sheet2表上就可看到输出的结果。然后利用EXCEL丰富的图表生成功能将输出的数字结果生成各种图表。得到的效果要比BASIC打印出的曲线精彩得多。5自定义函数。在VB中自定义函数的定义比在BASIC中的要复杂一些,它更像一段子程序,但调用的语句是一样的。例如,把公式Y=Y1Y2Y3设为一个名为Y的自定义函数,在BASIC中应是: DEF Y(Y1,Y2,Y3)=Y1*Y2*Y3* 在VB中则写成: Function Y(Y1,Y2,Y3) Y=Y1*Y2*Y3 End Function 并且这一段函数程序应放在主程序(宏)的前面,即放在Sub test()的前面。按上述方法改好后,程序即可运行。在EXCEL菜单中,选“工具”,再选“宏”,这时出现一个对话框,在对话框里的“宏名/引用”框里,用鼠标选中要运行的宏的名字(如上面的test),然后单击“执行”按钮就可运行了。你也可以设定一个按钮将程序与按钮关联起来,单击按钮
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中班健康《你是我的好朋友》教案
- 化学单元1 酸性溶液和碱性溶液第一课时教案及反思
- 五年级美术下册教案-《第11课 学画松树》教学设计人教版
- 九年级体育 第9周 第18次课教学设计
- 人教部编版 (五四制)五年级上册山居秋暝教案
- 九年级体育 女生侧向滑步推铅球教学设计2
- 丽声北极星分级绘本The Angry Dragon(教学设计)-2023-2024学年译林版(三起)英语四年级下册
- 2021-2022学年北师大版八年级数学下册期末押题必刷卷【期末测试·拔高】常考易错突破卷(轻松拿满分)(解析版)
- 2024中铁财务有限责任公司公开招聘1人笔试参考题库附带答案详解
- 三年级英语上册 Unit 9 It's a mouth教学设计2 湘少版
- 陕西省西安铁一中2025届高考语文二模试卷含解析
- 租车位安装充电桩合同范本
- 七年级上册地理填图训练
- 幼儿园孩子食物中毒培训
- 人教版(2024)英语七年级上册单词表
- 建筑工程cad课程说课
- 独山玉饰品质量等级评价DB41-T 1435-2017
- 【互联网企业并购中的财务风险探析与防范:以阿里巴巴并购饿了么为例12000字(论文)】
- 第九届全国大学生测井技能大赛备赛试题库-下(判断题)
- 2025届江苏省南京市六区初三第二学期期中考试英语试题试卷含答案
- icu手册第一部分-常见病诊疗规范
评论
0/150
提交评论