1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > VBA学习笔记 工作表函数和VBA 对EXCEL对象的不同引用写法

VBA学习笔记 工作表函数和VBA 对EXCEL对象的不同引用写法

时间:2019-04-03 11:47:08

相关推荐

VBA学习笔记 工作表函数和VBA 对EXCEL对象的不同引用写法

本文链接:/xuemanqianshan/article/details/89920563

1 工作表函数 对 EXCEL对象的引用语法

1.1 同一个sheet里

在同一个sheet里

cell range row column 层面,一般用冒号:如SUM(A:A)

引用 平行的多个对象,一般用逗号,如=SUM(A1,B1,G1)

1.2 跨同1个workbooks的sheets

跨sheet,用 sheet名+感叹号

这里的sheet名,就是sheet的直接看到的显示名。(= VBA的sheet名,而不是codename!!!)

语法如=SUM(Sheet2!A1:A17)

1.3 跨多个workbooks

啥时候是有带绝对路径的?

跨多个 workbooks

第1部分:文件的绝对路径,用单引号 " " 括起来 ,一直括到完整的路径,到workbooks.worksheet 全括起来

比如 "E:\最近文件\文件1\[Resource.xlsx]ResInfo"

第2部分:[workbook的显示名]

第3部分:sheet名字+!

=SUM([测试200.xlsx]Sheet1!$A$1:$A$5)

"E:\最近文件\文件1\[Resource.xlsx]ResInfo"!$2:$2

2 VBA里对EXCEL对象标准写法

2.1 标准写法

标准写法:Application.workbooks().worksheets().range().value

当然这内部符号VBA的语法都算,比如 worksheets() 可以替换为 sheet1 或 sheets(1)等写法

2.2 最简单写法

最简写法:但不支持任何变量

写法就是 EXCEL写法,外面加 [ ]

千万不要混用,外面是[] 里面是纯excel写法

[b1]=[sum(a1:a10)]

Sub test1002()

[h1] = [sum(a1:a10)]

End Sub

2.3 混合型写法--错误

混合型

EXCEL的部分加引号 ""

2.4 部分拼接的写法是OK的

不支持混用,只支持部分拼接的生效

外面的部分用VBA语法

里面“”部分用excel语法

拼接的写法是OK的,下面这两种拼接都是等价的

sheet1.range("a1:a10")

range("sheet1!A1:A10")

Sub test1002()

Debug.Print [sum(a1:a10)]

Debug.Print WorksheetFunction.Sum(Range("sheet3!a1:a10"))

Debug.Print WorksheetFunction.Sum(Range("[cs100.xlsx]sheet3!a1:a10"))

End Sub

range("a1:a10") 等价 [a1:a10]

3 实测

实测

msgbox(Application)

application.worksheetfunction.counta(range("a:a"))

application.sum(range("a:a"))

application.sum([a;a])

错误写法

application.worksheetfunction.counta(a:a)

application.worksheetfunction.counta("a:a")

application.sum(a;a)

application.sum("a;a")

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。