三九宝宝网宝宝百科宝宝知识

Excel中BASIC程序的运行

11月18日 编辑 39baobao.com

[艾灸后多久可以吃东西艾灸后马上进食影响血液运行]艾灸后多久可以吃东西?一般来说,艾灸完之后最好半小时后再进食,对艾灸效果比较好。具体分析:通常情况下,艾灸后立即吃东西没啥大碍。只要艾灸完之后,注意防寒保暖,避免过度饮酒、...+阅读

在微软的电子表格软件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=Y1×Y2×Y3设为一个名为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),然后单击“执行”按钮就可运行了。你也可以设定一个按钮将程序与按钮关联起来,单击按钮就可以运行程序。关于如何设定按钮,请参阅有关EXCEL的书籍。如果想要使程序更简短高效,那就需要进一步学习VBA编程,充分利用VB的各种命令、函数和控制手段进行编程。顺便说一句,QBASIC的源程序也同样可以转换,但QBASIC的源程序可以在WORD中直接显示,这样,复制到EXCEL中就更加方便。例如在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语句是一样的。

以下为关联文档:

大班毕业典礼程序大班毕业典礼一、活动时间:2005年6月15日二、活动地点:二楼大厅三、活动要求:1、进一步增进幼儿对幼儿园、教师的情感。2、有做一名毕业生的光荣感,增强做小学生的愿望。...

2019年度it程序员个人工作计划模板书2019年度it程序员个人工作计划模板书1、 适时做好网站监控,观察学习同类网站,扬长补短,并不断优化我们自己的网站。2、 网站的日常工作:做好工作规划,分清轻重主次,细心认真地做...

中一班家长会程序作者:张俊丽时间:2007年8月25日(星期六)地点:CPM教室参加人:全体家长会议内容:一、 分析总结上学期幼儿各方面幼儿发展情况:本班现有22名幼儿,大部分幼儿掌握了基本的生活自理...

程序员面试常遇到的十大“套路”1、你做一个自我介绍误区:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。要点:简历上有的可以一两句话带过,重点回答面试官关心的问题,那就...

留学加拿大续签程序据立思辰留学360介绍,去加拿大留学要 办两种签证,也就是我们俗称的大、小签证。首次出国留学,去加拿大使馆办理student visa(小签)的申请,然后在抵达加拿大之后,直接在机场凭借大...

炊事配班一日工作程序7:30 上班 为各班整理、分发餐具;8:10 等各班领走早餐,开始打扫整理餐间的卫生、择菜、洗菜、浸泡8:50 幼儿早餐完毕,清洗餐具并消毒9:30 协助将加餐准备好,将洗好的菜捞起,为师傅...

程序员辞职报告精选5篇程序员离职申请书尊敬的总经理:我很遗憾自己在这个时候向公司正式递交辞职报告。首先,我要感谢xx公司几年来对我的培养,各位领导和同事给我的帮助,让我在一个平台做出了一点...

党支部入党转正程序敬爱的党组织:20XX年5月31日对我来说是神圣的一天,因为那天我正式被中国共产党接受成为一名预备党员。经过党组织一年的磨练,让我在思想上成熟了,政治觉悟也提高了,所以在此时我...

关于程序员的工作总结5篇关于程序员的工作总结5篇 (一) 短短的一个月很快就过去了,在这短短的一个月里,我学到了很多,了解了很多, 在这一个月里我学到了有关JAVA等方面的知识,了解了关于软件开发的流程。...

推荐阅读
图文推荐