VBA如何使用Excel工作表函数
发布:  |  作者: Microsoft |  来源: Microsoft |  查看: 5743
_W V
W9a`_@_H0摘自EXCEL帮助
_z2i!b_x_tW_d0Office中国社区门户_m(N%y/M_Y&P"x_c9P_X_M*Z
_{_`M)L_a_W0 Visual Basic 中使用 Microsoft Excel 工作表函数Office中国社区门户T_L-R$c `9?_L
 Visual Basic 语句中可以使用大多数 Microsoft Excel 工作表函数。若要查看可以使用的工作表函数列表,请参阅 可用于 Visual Basic 的工作表函数列表。Office中国社区门户-U3b;|_Ww.Y
Office中国社区门户9b_@,R5W_X_k_@*b
注释  一些工作表函数在 Visual Basic 中是不实用的。例如:Concatenate 函数就不实用,因为在 Visual Basic 中可使用 运算符来连接多个文本值。Office中国社区门户$e*D#W_A_L_o_B&w
Office中国社区门户 BF
B9c_V5{[ x*p
 Visual Basic 中调用工作表函数
(T;V H"f X G6o_j0 Visual Basic 中,通过 WorksheetFunction 对象可使用 Microsoft Excel 工作表函数。Office中国社区门户_x.F.o_v_p
'c1|_d9T_T,l_U-L:D_v0以下 Sub 过程使用 Min 工作表函数来决定在某个单元格区域中的最小值。首先,将变量 myRange 声明为 Range 对象,然后将其设置为 Sheet1 上的 A1:C10 单元格区域。指定另一个变量 answer 为对 myRange 应用 Min 函数的结果。最后,answer 的值就被显示在消息框中。
6~_Eg C_@0 Office中国社区门户 { W_V/I:Z T8c_] R_x
Sub UseFunction()Office中国社区门户
o7g-~_q:L ef/N_^z
    Dim myRange As RangeOffice中国社区门户9u_A5n,E_l,R-{9o1|"r&[
    Set myRange = Worksheets("Sheet1").Range("A1:C10")
(ZP^8T0j H$`0    answer = Application.WorksheetFunction.Min(myRange)Office中国社区门户2qJa7k s r_w__
    MsgBox answer
_w_X4p_[_c-s
j+E:K0End SubOffice中国社区门户9W
\'u_g_V:{ T
        Office中国社区门户_c4Z_` v.W_}
如果您使用的工作表函数需要一个单元格区域引用作为参数,则必须指定一个 Range 对象。例如:您可以用 Match 工作表函数搜索单元格区域。可以在工作表单元格中输入公式,如=MATCH(9,A1:A10,0)”。但是,您应在 Visual Basic 过程中指定一个 Range 对象来获取相同的结果。
_c__7q_P f_RU_}0 Office中国社区门户'E:X_@%@_H"Zy_d
Sub FindFirst()Office中国社区门户9} z;j"s_q_E(tb0N4N,T
    myVar = Application.WorksheetFunction _Office中国社区门户_l$wy)aI4n9{+v_A
        .Match(9, Worksheets(1).Range("A1:A10"), 0)
"~6q&o-k_a:{0q2i/A0    MsgBox myVar
_y_C_k p_L4N-S0End SubOffice中国社区门户~_y2R_r&[ ?_`
       
_p_A D_v d_O2[0注释  Visual Basic 函数不使用 WorksheetFunction 识别符。函数可能和 Microsoft Excel 的函数同名但作用各异。例如:Application.WorksheetFunction.Log  Log 将返回不同的值。
_N)A%e_R"pW_B6{)n_s_P0
_T_R_d_C.A5I0在单元格中插入工作表函数
a$L_x_[_Z_F_Z_[_M0
若要在单元格中插入工作表函数,请指定函数作为相应的 Range 对象的 Formula 属性值。以下示例中,将 RAND 工作表函数(可生成随机数)赋给了活动工作簿中 Sheet1  A1:B3 单元格区域的 Formula 属性。Office中国社区门户6c SXo,o#P_g
5` Mk_^ ~_w0Sub InsertFormula()Office中国社区门户_L_W5w&bx+q#a t
    Worksheets("Sheet1").Range("A1:B3").Formula = "=RAND()"Office中国社区门户_X_Z_V__[_G
End Sub
5y1g+i1H*fU6__W/E0       
i0A"F_bR_H_G0示例
T#O_L&^8m_r_L0本示例使用工作表函数 Pmt 来计算住宅抵押贷款的支付额。请注意,本示例使用的是 InputBox 方法,而不是 InputBox 函数,因此该方法可以执行类型检查。Static 语句使 Visual Basic 保留三个变量的值;当下次运行该程序时,这些变量将显示为默认值。Office中国社区门户_p_~:m$?_W J'h
_f_h&o8p$[_}_Q)y&n0Static loanAmt
8F.^8`6v0Y%i_E0Static loanInt
\_Y5B_k_` X0Static loanTerm
;G(L_N_z_y W0?_v0
loanAmt = Application.InputBox _
_I_rq_[_Y {_M_G0    (Prompt:="Loan amount (100,000 for example)", _
_E'c(X3}_T4T_h4R0        Default:=loanAmt, Type:=1)Office中国社区门户_x2C_^m.c_i;Z
loanInt = Application.InputBox _
_~_z1f%E_c"H;q5h+^0    (Prompt:="Annual interest rate (8.75 for example)", _Office中国社区门户2^.@3h_g B_e4R L)Z6[
        Default:=loanInt, Type:=1)
_r_Z(AX_|2C/n6j c_V_c$?0loanTerm = Application.InputBox _
_b_x/T_L7g_O_K0    (Prompt:="Term in years (30 for example)", _Office中国社区门户5[_q2p)M_c_z_P
        Default:=loanTerm, Type:=1)Office中国社区门户9]1m_q*u2T_n C+`
payment = Application.WorksheetFunction _
6T6{/h0H_cq0Y[_q0    .Pmt(loanInt / 1200, loanTerm * 12, loanAmt)
_j*z_w_q-m:f#D0MsgBox "Monthly payment is " & Format(payment, "Currency")Office中国社区门户-R_S_K P_G_H$t_V9R9s_L;j
        Office中国社区门户_v7u_L_K_I0s_k
--------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------Office中国社区门户_U8U u&e_gv-D
可用于 Visual Basic 的工作表函数列表
"p;m v N n/J_`0             Office中国社区门户_P8j_q4F_D/F;P
Office中国社区门户_]_k5S_v_~_y_S9n
             
7S_i-s_M1V_a_h&l_S0
_W_R4h:B_w.i_Fa U,F0A
_H_u_P_MU&K_[_g_E_Y0Acos 
5T1s_a4S;X1[6o_C,S0 Office中国社区门户_O/d4C _
['x
Acosh Office中国社区门户 d_`9i_r$q#n_p ^_o
_^ v!j_c P:X U7K_O0And 
x_{$e._8S
w7O!V;H0
_k(G Q'A+e_T4C_}4O_H_@__0Asin Office中国社区门户 u_i'j_p_W#H"W_t,x_W_A
Q W_c,_ ?1K.c+G_o W0Asinh Office中国社区门户d_U&K.j'y6s
Office中国社区门户#y_?5t l)__].A5g
Atan2 
_P_y A9?4J$E_b0
_f7r H_j(Z_h0Atanh 
_x_B_j%v5W$a0 Office中国社区门户_{6`4R_V_p-H x#I%f
AveDev Office中国社区门户9[!t)q-W7H_H_u4Z:?
g+z;b+k_qi Z/f$j2V0Average Office中国社区门户 xx5['\_d5x B_J_^
_E%q/o0R_{Q_q n0BOffice中国社区门户:[2d&c"v#U_I_W_K'A_L
BetaDist 
,O I_}_Q$}_o_y P)E0 Office中国社区门户_@_Y_q:p$K
BetaInv 
_p_|1y2T_{_K_o:{0
;]"E l_d

t3e/i0BinomDist 
_F_x_H_y_O.[ q J.m7K0 Office中国社区门户
u_Np_y5SV
Cisnumber函数的使用方法及实例Office中国社区门户'h(E_[4x%H:T-{
Ceiling Office中国社区门户4@ x_tW_L2]"{_h_q

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。