admin 管理员组文章数量: 1184232
2024年3月27日发(作者:复变函数第四版答案详解)
在VBA如何使用Excel工作表函数
发布: | 作者: Microsoft | 来源: Microsoft | 查看: 5743次
摘自EXCEL帮助
在 Visual Basic 中使用 Microsoft Excel 工作表函数
在 Visual Basic 语句中可以使用大多数 Microsoft Excel 工作表函数。若要
查看可以使用的工作表函数列表,请参阅 可用于 Visual Basic 的工作表函数
列表。
注释 一些工作表函数在 Visual Basic 中是不实用的。例如:Concatenate 函
数就不实用,因为在 Visual Basic 中可使用 & 运算符来连接多个文本值。
从 Visual Basic 中调用工作表函数
在 Visual Basic 中,通过 WorksheetFunction 对象可使
用 Microsoft Excel 工作表函数。
以下 Sub 过程使用 Min 工作表函数来决定在某个单元格区域中的最小值。首
先,将变量 myRange 声明为 Range 对象,然后将其设置为 Sheet1 上
的 A1:C10 单元格区域。指定另一个变量 answer 为对 myRange 应用 Min 函数
的结果。最后,answer 的值就被显示在消息框中。
Sub UseFunction()
Dim myRange As Range
Set myRange = Worksheets("Sheet1").Range("A1:C10")
answer = (myRange)
MsgBox answer
End Sub
如果您使用的工作表函数需要一个单元格区域引用作为参数,则必须指定一
个 Range 对象。例如:您可以用 Match 工作表函数搜索单元格区域。可以在工
作表单元格中输入公式,如“=MATCH(9,A1:A10,0)”。但是,您应
在 Visual Basic 过程中指定一个 Range 对象来获取相同的结果。
Sub FindFirst()
myVar = eetFunction _
.Match(9, Worksheets(1).Range("A1:A10"), 0)
MsgBox myVar
End Sub
注释 Visual Basic 函数不使用 WorksheetFunction 识别符。函数可能
和 Microsoft Excel 的函数同名但作用各异。例如:
和 Log 将返回不同的值。
在单元格中插入工作表函数
若要在单元格中插入工作表函数,请指定函数作为相应的 Range 对象
的 Formula 属性值。以下示例中,将 RAND 工作表函数(可生成随机数)赋给
了活动工作簿中 Sheet1 上 A1:B3 单元格区域的 Formula 属性。
Sub InsertFormula()
Worksheets("Sheet1").Range("A1:B3").Formula = "=RAND()"
End Sub
示例
本示例使用工作表函数 Pmt 来计算住宅抵押贷款的支付额。请注意,本示例使
用的是 InputBox 方法,而不是 InputBox 函数,因此该方法可以执行类型检查。
Static 语句使 Visual Basic 保留三个变量的值;当下次运行该程序时,这些
变量将显示为默认值。
Static loanAmt
Static loanInt
Static loanTerm
loanAmt = ox _
(Prompt:="Loan amount (100,000 for example)", _
Default:=loanAmt, Type:=1)
loanInt = ox _
(Prompt:="Annual interest rate (8.75 for example)", _
Default:=loanInt, Type:=1)
loanTerm = ox _
(Prompt:="Term in years (30 for example)", _
Default:=loanTerm, Type:=1)
payment = eetFunction _
.Pmt(loanInt / 1200, loanTerm * 12, loanAmt)
MsgBox "Monthly payment is " & Format(payment, "Currency")
----------------------------------
----------------------------------
版权声明:本文标题:VBA使用Excel工作表函数 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1711523882a598249.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论