當前位置:外匯行情大全網 - 助學貸款 - 我有三個關於excel--vba的問題。(最主要的是關於公***對話框)

我有三個關於excel--vba的問題。(最主要的是關於公***對話框)

第壹個問題轉置粘貼即可

第二的問題樓上回答是錯誤的。當然直接用excel函數通常情況下是不可以的,不過我們可以曲線救國,excel中表格可以用的函數,在VBA中也可以用,只需通過WorksheetFunction對象就可以引用,後面加函數名稱,然後加range來引用單元格。舉個例子:

Application.WorksheetFunction.Max(range("A1:C5"))

下面就是如何在VBA中使用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 = Application.WorksheetFunction.Min(myRange)

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

示例

本示例使用工作表函數 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 / 1200, loanTerm * 12, loanAmt)

MsgBox "Monthly payment is " & Format(payment, "Currency")

可用於 Visual Basic 的工作表函數列表

A_______________________________

Acos

Acosh

And

Asin

Asinh

Atan2

Atanh

AveDev

Average

B_______________________________

BetaDist

BetaInv

BinomDist

C_______________________________

Ceiling

ChiDist

ChiInv

ChiTest

Choose

Clean

Combin

Confidence

Correl

Cosh

Count

CountA

CountBlank

CountIf

Covar

CritBinom

D_______________________________

DAverage

Days360

Db

DCount

DCountA

Ddb

Degrees

DevSq

DGet

DMax

DMin

Dollar

DProduct

DStDev

DStDevP

DSum

DVar

DVarP

E_______________________________

Even

ExponDist

F_______________________________

Fact

FDist

Find

FindB

FInv

Fisher

FisherInv

Fixed

Floor

Forecast

Frequency

FTest

Fv

G_______________________________

GammaDist

GammaInv

GammaLn

GeoMean

Growth

H_______________________________

HarMean

HLookup

HypGeomDist

I_______________________________

<Index

Intercept

Ipmt

Irr

IsErr

IsError

IsLogical

IsNA

IsNonText

IsNumber

Ispmt

IsText

J_______________________________

K_______________________________

Kurt

L_______________________________

Large

LinEst

Ln

Log

Log10

LogEst

LogInv

LogNormDist

Lookup

M_______________________________

Match

Max

MDeterm

Median

Min

MInverse

MIrr

MMult

Mode

N_______________________________

NegBinomDist

NormDist

NormInv

NormSDist

NormSInv

NPer

Npv

O_______________________________

Odd

Or

P_______________________________

Pearson

Percentile

PercentRank

Permut

Phonetic

Pi

Pmt

Poisson

Power

Ppmt

Prob

Product

Proper

Pv

Q_______________________________

Quartile

R_______________________________

Radians

Rank

Rate

Replace

ReplaceB

Rept

Roman

Round

RoundDown

RoundUp

RSq

RTD

S_______________________________

Search

SearchB

Sinh

Skew

Sln

Slope

Small

Standardize

StDev

StDevP

StEyx

Substitute

Subtotal

Sum

SumIf

SumProduct

SumSq

SumX2MY2

SumX2PY2

SumXMY2

Syd

T_______________________________

Tanh

TDist

Text

TInv

Transpose

Trend

Trim

TrimMean

TTest

U_______________________________

USDollar

V_______________________________

Var

VarP

Vdb

VLookup

W_______________________________

Weekday

Weibull

X_______________________________

Y_______________________________

Z_______________________________

ZTest

另外妳說的第三個問題,我沒有遇到過。不過我想妳可能是註冊方法不對吧。

妳應該保證妳的Comdlg32.ocx在正確的目錄下。win95/98/me,就拷貝Comdlg32.ocx到windows/system目錄中即可;win2000/xp,就拷貝Comdlg32.ocx到windows/system32目錄中即可。

  • 上一篇:網絡眾籌需要什麽條件
  • 下一篇:小額信用貸款證信用等級3級是什麽意思?
  • copyright 2024外匯行情大全網