【整理】VBA学习笔记(24)工作表函数和VBA,对EXCEL对象的不同引用写法

博客介绍了Excel对象的引用语法,包括同一sheet、跨同个workbooks的sheets、跨多个workbooks的引用方式。还阐述了VBA里对Excel对象的标准、最简、混合及部分拼接写法,并给出实测示例,同时指出了一些错误写法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值