如何在VBA中调用Excel工作表函数

如题所述

工具:Microsoft Office Excel 2007 办公软件

步骤:

1、打开Microsoft Office Excel 2007 办公软件,击 “开始” ->“Excel 选项”。

2、选择“常规”选项卡,并在右侧点选“在功能区显示‘开发工具’选项卡”,并单击“确定"。

3、在单元格A1中输入“弧度”,单元格B1中输入“角度”,单元格A2中输入“3.14”,然后在单元格B2中输入公式"=DEGREES(A2)"在按下回车后,该单元格输出结果为179.9087477。注:DEGREES函数的作用是将弧度转化为角度。

4、用VBA实现同样的功能。点击“开发工具”选项卡,单击“Visual Basic”,启动Visual Basic编辑器。

5、在“Microsoft Excel 对象”上点鼠标右键,依次点击“插入” -> “模块”,创建“模块1”,并在该模块中输入内容:

Sub 转换()
 MsgBox Application.WorksheetFunction.Degrees(3.14)
End Sub

点击“运行子过程/用户窗体”按钮,在弹出的对话框中选择“转换”,然后点击“运行”按钮。

6、程序弹出对话框,结果与在Excel中利用公式输出的结果一样,只是有效数字的位数不一样,这可以根据需要加以取舍。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-07-06

直接使用application方法

Excel2007版本,VBA中调用Excel工作表函数

对sheet1(工作表标签名称)中单元格A1:B5区域求和,代码如下:

Application.WorksheetFunction.Sum(sheets("Sheet1").Range("A1:B5"))

结果就是在sheet1表格中输入     “=sum(A1:B5)”

或同一工作薄其它工作表输入“=SUM(Sheet1!A1:B5)”得到一样的计算结果

第2个回答  2016-07-04
一般通过SQL调用,举例如下:
xdlj = "SELECT * INTO 表1 FROM [Excel 8.0;Database=" & “Excel路径” & "].[Sheet1$]"
DoCmd.SetWarnings False ‘这一句的意思是取消导入警报

DoCmd.RunSQL xdlj '运行SQL语句
第3个回答  2016-07-04
一部分excel工作表函数可以直接在VBA中调用
如myData = Application.WorksheetFunction.Count(Range("A2:D5"))
相当于Excel中=Count(A2:D5)的结果。

另一部分与一些变化不可以直接调用
如 Excel中的=IF()函数,在VBA中用IIF 函数

还有一些函数 如 =row() VBA 中变为 .row 属性

有的函数在VBA中没有本回答被提问者采纳
第4个回答  2016-07-04
由于Excel内置的工作表函数功能强大,如果在VBA中直接调用Excel工作表函数来进行运算,会大大简化程序的代码,可以按照以下方法来调用Excel工作表函数。