vba变量引用单元格区域,vba 自定义函数 单元格区域引用方法

vba变量引用单元格区域,vba 自定义函数 单元格区域引用方法

一、强烈建议初学者理清Excel对象模型,在学写vba代码时,按层级来书写

本问题相关的对象层级为workbook - worksheet - range

二、关于引用单元格

Dim oBook As Workbook

Dim oSheet As Worksheet

Dim oRange As Range

Set oBook = Application.Workbooks("目标工作簿") '这里的Application指当前VBA代码所属的工作簿所在的Excel程序进程实例

Set oSheet = oBook.Worksheets("目标工作表")

'以下开始引用单元格

'1.引用单个单元格

Set oRange = oSheet.Range("A1") '常规方式

Set oRange = oSheet.Range("A" & 1) '动态列号

Set oRange = oSheet.Cells(1, 1) '行号+列号,可动态

Set oRange = oSheet.Cells(1, "A") '行号+列号

Set oRange = oSheet.[A1] '不建议使用

'Cells方法的缺点是无成员提醒

'2.引用连续单元格区域

Set oRange = oSheet.Range("A1:B2") '常规方式

Set oRange = oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(2, 2)) '长是长一点,某些时候还挺实用

Set oRange = oSheet.Range("A1", "B2") '使用率低

Set oRange = oSheet.Range("A1").Resize(2, 2) '极其灵活,配合Offset方法使用会更灵活

'3.引用不连续单元格区域

Set oRange = oSheet.Range("A1, B2:C3, D4")

Set oRange = Application.Union(oSheet.Range("A1"), oSheet.Range("B2:C3"), oSheet.Range("D4"))

'4.当前选定的单元格

Set oRange = Selection.Range

'5.行和列

Set oRange = oSheet.Rows(1)

Set oRange = oSheet.Columns(1)

'6.常用应用

Set oRange = oSheet.UsedRange '已使用的矩形单元格区域

Set oRange = oSheet.Range("A" & oSheet.Rows.Count).End(xlUp) '第A列,最后一个非空白单元格

Set oRange = oSheet.Cells(1, oSheet.Columns.Count).End(xlToLeft) '第1行,最后一个非空白单元格

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论