在VBA如何使用Excel工作表函数范文杂锦范文大全.doc
文本预览下载声明
在VBA如何使用Excel工作表函数范文杂锦范文大全
在VBA如何使用Excel工作表函数
摘自excel帮助
在 visual basic 中使用 microsoft excel 工作表函数
在 visual basic 语句中可以使用大多数 microsoft excel 工作表函数。若要查看可以使用的工作表函数列表,请参阅 可用于 visual basic 的工作表函数列表。
注释 一些工作表函数在 visual basic 中是不实用的。例如:concatenate 函数就不实用,因为在 visual basic 中可使用 amp; 运算符来连接多个文本值。
从 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 = application.worksheetfunction.min(myrange)
nbs
p;msgbox answer
end sub
如果您使用的工作表函数需要一个单元格区域引用作为参数,则必须指定一个 range 对象。例如:您可以用 match 工作表函数搜索单元格区域。可以在工作表单元格中输入公式,如“=match(9,a1:a10,0)”。但是,您应在 visual basic 过程中指定一个 range 对象来获取相同的结果。
sub findfirst()
myvar = application.worksheetfunction _
.match(9, worksheets(1).range(a1:a10), 0)
msgbox myvar
end sub
注释 visual basic 函数不使用 worksheetfunction 识别符。函数可能和 microsoft excel 的函数同名但作用各异。例如:application.worksheetfunction.log 和 log 将返回不同的值。
在单元格中插入工作表函数
若要在单元格中插入工作表函数,请指定函数作为相应的 range 对象的 formula 属性值。以下示例中,将 rand 工作表函数(可生成随机数)赋给了活动工作簿中 sheet1 上 a1:b3 单元格区域的 formula 属性。
sub insertformula()
worksheets(sheet1).range(a1:b3).formula = =rand()
end sub
nbs
p;
示例
本示例使用工作表函数 pmt 来计算住宅抵押贷款的支付额。请注意,本示例使用的是 inputbox 方法,而不是 inputbox 函数,因此该方法可以执行类型检查。static 语句使 visual basic 保留三个变量的值;当下次运行该程序时,这些变量将显示为默认值。
static loanamt
static loanint
static loanterm
loanamt = application.inputbox _
(prompt:=loan amount (100,000 for example), _
default:=loanamt, type:=1)
loanint = application.inputbox _
(prompt:=annual interest rate (8.75 for example), _
default:=loanint, type:=1)
loanterm = application.inputbox _
(prompt:=term in years (30 for example), _
default:=loanterm, type:=1)
payment = application.worksheetfunction _
.pmt(loanint / 12
显示全部