VBA第十一讲 单元格的选取

VBA 单元格的选取

1.表示一个单元格选取

Sub tt()

Range("a1").Select

Cells(1).Select

End Sub


Sub tt1()

Range("b" & 1).Select

End Sub


Sub tt2()

Cells(2, "C").Select

End Sub

'注意上下两个sub语句的不同之处,针对range,括号内没有逗号,数字与字符串通过&相连,而且需要有空格,range语句有点列在前行在后的格式感觉。cells语句,行列之间有逗号,行在前,列在后。

犯过的错误有:&前后没有加空格,cells忘记s,行列之间没有加逗号。


一个单元格选取还可以表示为[a1].select

2.表示相邻的单元格区域

Sub tt3()

Range("a1:b2").Select

End Sub


Sub tt4()

Range("a1", "c5").Select

End Sub

'range 语句中,括号内还有这种带有逗号的格式,逗号两边是range的区域顶点。

Sub tt5()

Range(Cells(1, 1), Cells(3.3)).Select

End Sub

也可以写为

Sub tt5()

Range(Cells(1, "a"), Cells(3, "d")).Select

End Sub

‘注意此处格式,range括号内没有引号。


下面是选中一个区域,然后此区域上下或者左右移动。

Sub tt6()

Range("c1:c10").Offset(0, -1).Select

End Sub

下面是先选中顶点,然后设定几行几列

Sub tt7()

Range("a1").Resize(4, 4).Select

End Sub

3.表示不相邻的单元格区域

Sub tt8()

Range("a1,b2:b4,c1").Select

End Sub

或者使用union()函数,将不同单元格连接。

Sub tt9()

Union(Range("a1"), Range("b2:b4"), Range("c1")).Select

End Sub


union() 函数使用例子

题干:想把A列1到10行中,所有的偶数行选出来

Sub tt10()

Dim x As Integer

Dim rg As Range

For x = 2 To 10 Step 2

If x = 2 Then Set rg = Cells(x, 1)

Set rg = Union(rg, Cells(x, 1))

Next x

rg.Select

End Sub


VBA中表示行

Sub tt11()

Rows("3").Select

End Sub


Sub tt11()

Rows("3:7").Select

End Sub

对于相邻行选取,以下两段代码结果一致

Sub tt13()

Range("1:2").Select

End Sub


Sub tt14()

Rows("1:2").Select

End Sub

对于不相邻的行选取用range()

Sub tt15()

Range("1:2,4:6").Select

End Sub


Sub tt12()

Range("c4:f3").EntireRow.Select

End Sub


VBA中表示列

列基本与行一致,只是换为columns,同理,对于不相邻的列,用range()函数

Sub tt16()

Range("A:B, E:F").Select

End Sub


重置坐标下的单元格表示方法

Sub tt18()

Range("b2").Range("c1") = 100

End Sub

代码意思为重置坐标后,新的顶点从A1变为B2,所以原来的C1就变成了D2,运行该代码后,发现单元格D2赋值100


正在选取的单元格区域

Sub tt17()

Selection.Value = 20

End Sub

代码意思为光标所在位置,也就是正在选取的单元格,赋值为20

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本例为设置密码窗口 (1) If Application.InputBox(“请输入密码:”) = 1234 Th...
    浮浮尘尘阅读 13,767评论 1 20
  • 单元格的颜色 Sub ha2() Dim x As Integer Range("a1:b60").Clear F...
    肉丸子豆阅读 497评论 0 0
  • 一 单元格输入 1 单元格的输入 Range("a1") = "a" & "b" End Sub '若是想要ab分...
    肉丸子豆阅读 486评论 0 0
  • 都说上了大学之后要知道"学习如何学习"而不是去学习,结果这句话仿佛变成了一句俗语,并没有人深究什么叫做学习如何学习...
    一盘散沙阅读 1,108评论 0 1
  • 在生活圈子里,我仿佛是个局外人,用笔尖感受生活,述说着没有我的故事。 2017年8月16日 星期三 晴 天空渐...
    疯子ix阅读 1,520评论 11 8