以下 Sub 過程使用 Min 工作表函數(shù)來決定在某個單元格區(qū)域中的最小值。首先,將變量 myRange
聲明為 Range 對象,然后將其設(shè)置為 Sheet1 上的 A1:C10 單元格區(qū)域。指定另一個變量 answer
為對 myRange
應(yīng)用 Min 函數(shù)的結(jié)果。最后,answer
的值就被顯示在消息框中。
Sub UseFunction()Dim myRange As RangeSet myRange = Worksheets("Sheet1").Range("A1:C10")answer = Application.WorksheetFunction.Min(myRange)MsgBox answerEnd Sub
如果您使用的工作表函數(shù)需要一個單元格區(qū)域引用作為參數(shù),則必須指定一個 Range 對象。例如:您可以用 Match 工作表函數(shù)搜索單元格區(qū)域??梢栽诠ぷ鞅韱卧裰休斎牍?,如“=MATCH(9,A1:A10,0)”。但是,您應(yīng)在 Visual Basic 過程中指定一個 Range 對象來獲取相同的結(jié)果。
Sub FindFirst()myVar = Application.WorksheetFunction _.Match(9, Worksheets(1).Range("A1:A10"), 0)MsgBox myVarEnd Sub
注釋 Visual Basic 函數(shù)不使用 WorksheetFunction 識別符。函數(shù)可能和 Microsoft Excel 的函數(shù)同名但作用各異。例如:Application.WorksheetFunction.Log
和 Log
將返回不同的值。
若要在單元格中插入工作表函數(shù),請指定函數(shù)作為相應(yīng)的 Range 對象的 Formula 屬性值。以下示例中,將 RAND 工作表函數(shù)(可生成隨機(jī)數(shù))賦給了活動工作簿中 Sheet1 上 A1:B3 單元格區(qū)域的 Formula 屬性。
Sub InsertFormula()Worksheets("Sheet1").Range("A1:B3").Formula = "=RAND()"End Sub
本示例使用工作表函數(shù) Pmt 來計算住宅抵押貸款的支付額。請注意,本示例使用的是 InputBox 方法,而不是 InputBox 函數(shù),因此該方法可以執(zhí)行類型檢查。Static 語句使 Visual Basic 保留三個變量的值;當(dāng)下次運(yùn)行該程序時,這些變量將顯示為默認(rèn)值。
Static loanAmtStatic loanIntStatic loanTermloanAmt = 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 / 1200, loanTerm * 12, loanAmt)MsgBox "Monthly payment is " & Format(payment, "Currency")