他山之石——使用VBA在单元格中输入公式(Input formula into Range with VBA)

在VBA编程中,时常要利用Excel自带的多种功能强大的函数。

那么,如何在VBA中向单元格中输入公式呢?

看到别人的培训资料里已有所总结,这里借花献佛一下。


代码:

Option Explicit

'一、在单元格中输入公式

'1、用VBA在单元格中输入普通公式

     Sub t1()
       Range("d2") = "=b2*c2"
     End Sub
     
     Sub t2()
      Dim x As Integer
      For x = 2 To 6
       Cells(x, 4) = "=b" & x & "*c" & x
      Next x
     End Sub

'2、用VBA在单元格输入带引号的公式
     Sub t3()
     
     Range("c16") = "=SUMIF(A2:A6,""b"",B2:B6)" '遇到单引号就把单引号加倍
     
     End Sub
      
'3、用VBA在单元格中输入数组公式

    Sub t4()
      Range("c9").FormulaArray = "=SUM(B2:B6*C2:C6)"
    End Sub
    
'二、利用单元格公式返回值

     Sub t5()
         Range("d16") = Evaluate("=SUMIF(A2:A6,""b"",B2:B6)")
         Range("d9") = Evaluate("=SUM(B2:B6*C2:C6)")
     End Sub
  
'三、借用工作表函数
    
     Sub t6()
        
        Range("d8") = Application.WorksheeFunction.CountIf(Range("A1:A10"), "B")
        
     End Sub

'四、利用VBA函数

     Sub t7()
     
      Range("C20") = VBA.InStr(Range("a20"), "E")

     End Sub
     
   

'五、编写自定义函数

      Function wn()
         wn = Application.Caller.Parent.Name
      End Function
     

  • 8
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值