Excel中BASIC程序的运行,第1张

Excel中BASIC程序的运行,第2张

在微软的电子表格软件EXCEL中,考试提示伴随着一种强大的编程语言——Visual Basic for Applications(本文简称VBA)。其实这就是微软的Visual Basic的体现。在Microsoft将窗体设计器从Visual Basic中删除后,它将窗体设计器附加到EXCEL中,并用对话表替换了窗体设计器。此外,微软允许VBA访问EXCEL的所有命令和对象(如单元格、工作表等)。).正因为如此,VBA可以控制EXCEL的所有功能,所以VBA是兼容基本编程语言的命令和语法的EXCEL应用软件的超级宏语言。
在EXCEL和VBA出现之前,许多计算机用户都有一些用BASIC语言编写的应用程序。当电脑的操作平台升级到Windows,办公软件换成Office,Windows界面下的软件直观易用,让人在使用DOS下的那些基本程序时感觉很别扭。幸运的是,BASIC和VAB都来自微软,这使得我们更容易在EXCEL中将这些过去的程序转换成VBA。转换后的程序使用EXCEL界面输入输出数据,直观方便,具有源程序不可比拟的优势。下面是如何完成从BASIC到VBA的转换。
在EXCEL中,程序被称为“宏”。记录界面称为“模块表”。要将BASIC的源程序输入EXCEL,首先要找到模块表。Office 95中的模块调入与Office 97略有不同。这里以Office 95中的EXCEL为例。在EXCEL中,依次选择菜单:插入、宏表、模块表,就会出现空的白色模块表。
在模块表中输入程序最简单的方法就是用键盘直接输入源程序。如果你的源程序可以用Office中的WORD或Windows中的writer或tablet读出,可以使用“复制”和“粘贴”功能将源程序粘贴到模块表中。很多情况下,WORD读取的基本源程序往往是一些无法识别的字符,无法直接复制。下面是另一种复制方法:选择Windows下的“MS-DOS模式”,会打开一个DOS窗口,在这个窗口中,基本编程语言(如GWBASIC等。)就会被挤兑。加载要转换的源程序,使用BASIC中的LIST命令,会在窗口中看到几行源程序。将鼠标移动到窗口顶部的工具栏上,单击“标记”键。一个光标将出现在窗口的左上角。按住SHIFT键的同时,使用箭头键将光标移动到窗口的右下角,然后整个窗口将被点亮。然后,将鼠标移动到窗口顶部的工具栏上,单击“复制”键。然后,最小化DOS窗口,打开EXCEL,调出模块表。可以使用EXCEL中的“粘贴”键将DOS窗口中的源程序粘贴到模块表中,继续进行。
源程序一旦进入模块表,就可以再次编辑。因为VBA是一种与基本编程语言的命令和语法兼容的宏语言,所以大多数基本程序行可以直接运行,而无需重写。只需要改变以下几个方面:
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 =工作表(" Sheet1 ")。Cells (1,1)
B =工作表(“sheet1”)。Cells (1,2)
意味着EXCEL工作表sheet1的第一行和第一列(A1单元格)中的单元格被更改。第一行和第二列(B1单位)中的单元格中的值被赋给变量b。只要在运行程序之前将值10和20分别放置在A1和B1单元格中,效果与上面的READ语句相同。
在程序运行中,有时需要中途暂停,根据之前的运行情况输入一些数据。在BASIC中,这种情况通常使用input语句;在VBA,你可以在输入数据之前设置一个S语句,然后在指定的单元格中填入要输入的数据,然后让程序继续运行(只需在EXCEL菜单中选择“继续运行”即可)。或者,您也可以使用InputBox()函数来创建一个用于输入的对话框。下面是创建对话框的句子:
X1 = "请输入金额"
X2 = "输入对话框"
X = InputBox(X1,X2)
当程序到达这句话时,屏幕上会出现这样一个对话框:
输入对话框[/程序继续运行。值得注意的是,如果要输入一个数字,必须使用Val()函数进行转换,也就是在上面三句话之后再加一条语句:
x = val (x) 4。输出语句。在BASIC中,PRINT或LPRINT语句通常用来输出程序的运行结果。例如,
PRINT C表示在屏幕上显示变量C的值。
LPRINT D表示将变量D的值输出到打印机。
有时用LPRINT语句打印出各种曲线。
在VBA中,可以使用对象存储的CELLS方法将变量值存储在EXCEL工作表的单元格中。为了将输出与输入数据分开,可以将输出数据放在与输入数据不同的表上。例如,如果输入放在Sheet1上,则输出放在Sheet2上。示例:
工作表(" sheet2 ")。Cells (2,5) = C
工作表(“sheet2”)。Cells (2,6) = D
分别意味着C和D的值放在Sheet1表格的第二行和第五列(程序运行后,您可以在Sheet2上看到输出结果。然后利用EXCEL丰富的图表生成功能,将输出的数字结果生成各种图表。结果比BASIC打印出来的曲线精彩多了。
5。自定义函数。VB中自定义函数的定义比BASIC中的复杂。它更像是一个子程序,但是调用的语句是一样的。例如,如果将公式Y=Y1×Y2×Y3设置为一个名为Y的自定义函数,那么在BASIC中应该是
DEF Y(Y1,Y2,Y3)=Y1*Y2*Y3
,应该写成
function Y(Y1,Y2,3)
Y = Y1 * Y2 * Y3
end Function
并且这个Function程序应该放在主程序(宏)的前面,也就是Sub test的前面
用上述方法修改后,程序就可以运行了。在EXCEL菜单中,选择工具,然后选择宏,将出现一个对话框。在对话框中的宏名/引用框中,用鼠标选择要运行的宏名(比如上面的测试),然后点击“执行”按钮运行。也可以设置一个按钮,将程序与按钮关联,点击按钮运行程序。如何设置按钮,请参考关于EXCEL的书籍。如果想让程序更短更高效,需要进一步学习VBA编程,充分利用VB的各种命令、函数和控制手段进行编程。顺带一提,QBASIC的源程序也可以转换,但是QBASIC的源程序可以直接在WORD中显示,所以复制到EXCEL中更方便。比如在BASIC中:
100 READ A,B
120 DATA 10,20
是指将值10和20分别赋给变量A和B;在VB中:
A =工作表(" Sheet1 ")。Cells (1,1)
B =工作表(“sheet1”)。Cells (1,2)
表示EXCEL工作表sheet1中第一行和第一列的单元格(A1单元格)第一行和第二列的单元格(B1单元)中的值被赋给变量b,只要在运行程序之前将值10和20分别放在A1和B1单元格中,效果与上面的READ语句相同。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » Excel中BASIC程序的运行

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情