ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5651|回复: 3

[分享] 表格区域的表示方式及操作

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-9-5 10:25 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
大家好,整理了一部分关于表格区域的表示方法及操作的材料。
很多都是根据自己理解来写的,能力有限,难免有所疏漏,请大家指正。

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-9-5 10:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
一、        几个方法的说明
1、Range.select方法及Range .Activate方法
range.select都是针对activesheet里的单元格,使用select是为了方便直观显示相应的区域,方便后面的单元格表示方式的。
使用select后,在selection对应区域的左上角单元格就是activecell,如果要改变selection区域里的activecell位置,可以使用activate方法。
2、选择任意工作表中区域(Application.Goto
Application.Goto(Reference, Scroll)
名称
必选/可选
数据类型
描述
Reference
可选
Variant
目标。可以是  Range 对象、包含 R1C1-样式批注的单元格引用的字符串或包含 Visual Basic 过程名的字符串。如果省略该参数,目标将为最近一次用 Goto 方法选定的区域。
Scroll
可选
Variant
如果为  True,则滚动窗口直至区域的左上角出现在窗口的左上角中。如果为 False,则不滚动窗口。默认值为 False
实例代码如下(附件一:几个方法的说明.xlsm)
Activesheet sheets(1)
Sub 按钮1_Click() 'select
   [a1:d8].Select
   MsgBox "Activecell.Address:" & ActiveCell.Address
End Sub
Sub 按钮2_Click() 'activate,修改activecell的位置
   [a2].Activate
   MsgBox "Activecell.Address:" & ActiveCell.Address
End Sub
Sub 按钮3_Click()'Application.Goto
   Application.Goto Sheets(2).[a3:d5], True
End Sub
Sub 按钮4_Click()'Application.Goto
   Application.Goto Sheets(2).[a3:d5], False
End Sub
Sub 按钮5_Click() 'select 选择未激活表的区域
   Sheets(2).Select 'Sheets(2).Activate
   [a3:d5].Select
End Sub

附件一:几个方法的说明.zip

14.55 KB, 下载次数: 86

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-9-5 10:27 | 显示全部楼层
二、单元格的几种表示方式[],rangecellsrowscolumns
1、  Range(注意引号(””)的范围)及[]的说明
  
引用range
  
引用[]
返回单元格区域
range("a1:b2,d1:d3,f1:g6")
[a1:b2,d1:d3,f1:g6]
合并区域,( union)
range("a3:f6 b1:c5")
[a3:f6 b1:c5]
相交区域b3:c5,(Intersect)
range("a1","d4")
 
a1:d4区域,取区域的最左上到最右下
range("a1","d4:f6")
 
a1:f6区域
range("b2:h4","d4:f6")
 
b2:h6区域
range("a:a")
[a:a]
A
range("c:f")
[c:f]
C到F列
range("1:1")
[1:1]
第一行
range("2:4")
[2:4]
第二到第四行

附件二-1:range与中括号.zip

16.94 KB, 下载次数: 69

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-9-5 10:28 | 显示全部楼层
1、  Cells,rows,columns,注意父对象,即“.”之前部分,如果不带默认父对象是activesheet。
  
引用
  
描述
ActiveSheet.Cells
返回活动工作表所有单元格
Range("d4:f8").Cells
返回单元格区域D4:F8
cells(1)从左到右,先上后下
返回区域中的第一个单元格
cells(2)
返回区域中第二个单元格
cells(1,2)等同于cells(1,"b")
返回区域中的第一行第二列单元格
Range("d4:f8").Cells(1,  "b").Address
返回是$E$4
ActiveSheet.Cells(,3)
返回C1,默认是一行
Range("d4:f8").Cells(,3)
返回F4,小数也是可行的,但是很少这么变态的去用。
Range("d4:f8").Cells(1,3)
Range("d4:f8").Cells(1,3.2)
rows(1),rows("1"),rows("1:1")
返回区域中的第一行
rows("1:4")
返回区域中的第一行至第四行
Range("d4:f8").rows("1:2")
[d2:f5]
columns(1),clumns("a:a")
返回区域中的第一列
columns("a:d")
返回区域中的第一列至第四列,注意不同于rows,不可以使用数字
Range("d4:f8").columns("b:c")
[E4:F8]
Range("d4:f8").columns("D:E")
[G4:H8]
提醒:可以使用小数,还有针对区域使用cells,rows,columns可以超出区域的范围,具体情况,可以自行尝试
[2:4].EntireRow
EntireRow,区域对应的整行
[2:4].EntireRow
EntireColumn,区域对应的整列
遍历Range("d4:f8")区域,是从左到右,从上到下。需要注意这个顺序。
无论是cellsi)还是cellsij)格式,都仅仅是一个单元格
Sub 按钮16_Click()遍历区域是从左到右,从上到小,注意顺序
   For i = 1 To Range("d4:f8").Cells.Count
       Range("d4:f8").Cells(i) = i
   Next i
End Sub


附件二-2:Cells-Rows-Columns.zip

19.45 KB, 下载次数: 91

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 13:45 , Processed in 0.047223 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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