搜索
查看: 2291|回复: 2

在VBA中也可以像在工作中一样录入公式

[复制链接]

977

主题

1093

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
15934
发表于 2018-12-30 15:57:53 | 显示全部楼层 |阅读模式
'在VBA中也可以像在工作中一样录入公式
Sub VBA中的做法()
Dim i%
For i = 1 To 10
    Range("c" & i) = Range("a" & i) + Range("b" & i)
Next
End Sub

Sub 普通公式()
Sheet1.Cells(1, 3) = "=a1+b1"
End Sub

Sub 批量计算()
Dim i As Integer
For i = 1 To 10
    Sheet1.Cells(i, 4) = "=a" & i & "+b" & i
Next i
End Sub

Sub 数组公式()
Range("e1:e10").FormulaArray = "=a1:a10+b1:b10"
End Sub


回复

使用道具 举报

977

主题

1093

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
15934
 楼主| 发表于 2018-12-30 15:58:34 | 显示全部楼层

Sub 带工作表函数的计算()
Dim i As Integer
For i = 1 To 10
    Sheet1.Cells(i, 4) = "=sum(a" & i & ":b" & i & ")"
Next i
End Sub
Sub 公式带引号的计算()
Cells(12, 1) = "=COUNTIF(A1:A10,"">9"")"
Cells(12, 2) = "=sum(INDIRECT(""a1:a10""))"
End Sub
回复

使用道具 举报

977

主题

1093

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
15934
 楼主| 发表于 2018-12-30 15:58:59 | 显示全部楼层
'借用工作表函数
Sub 运用工作表函数()
MsgBox Application.WorksheetFunction.CountIf(range("a1:a10"), "钢笔")
MsgBox WorksheetFunction.CountIf(range("a1:a10"), "钢笔")
MsgBox Application.CountIf(range("a1:a10"), "钢笔")
End Sub

'VBA函数
Sub VBA函数()
MsgBox VBA.Format(range("b1"), "yyyy年m月d日")
MsgBox Format(range("b1"), "yyyy年m月d日")
End Sub

'自定义函数
Function SEX(rng As range)
SEX = IIf(Mid(rng, 15, 3) Mod 2, "男", "女")
End Function
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

表格智创网

网站简介:表格智创网,是一家以表格设计和技能分享的专业社区,由会计帮帮网投资建设,尽专业,助提高专业技能。

表格智创网欢迎您!

联系我们

  • 工作时间:早上9:00-16:00
  • 客服电话:18668755857
  • 本站网址:www.excelwps.com
  • 淘宝店址:kjbbw.taobao.com

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表