VBA笔记:Range对象

1.单元格

1.1 单个单元格

Worksheets("Sheet1").Range("A1").Value = 10

1.2 单元格区域
直接引用与通过变量引用
Sub rng()
    Range("A1:A10").Value = 10  '在A1:A10插入数值10
    Dim n As String
    n = "B1:B10"
    Range(n) = 100  '在B1:B10插入数值100
End Sub
通过名称引用
Sub rng()
    Range("date").Value = 10  '提前定义名称 date = A1:B10
End Sub
1.3 跨区域引用

同时选择多个区域

Sub rng()
    Range("A1:A10,A4:E6,C3:D9").Select  '逗号分隔
End Sub

选择多个区域的交集

Sub rng()
    Range("A1:A10 A4:E6").Select  '空格分隔
End Sub

包含2个区域的最小矩形区域

Sub rng()
    Range("A1:A10","B4:E6").Select  '效果与"A1:E10"一样
End Sub

2.Cells属性

作为Range的属性

Range("B3:F9").Cells(2,3) = 100 '为B3:F9区域第2行、第3列的单元格赋值100

作为Range的参数

Range(Cells(1,1),Cells(10,5)).Select '2个表达式,意义是一样的
Range("A1","E10").Select

3.Rows、Columns对象

与Range对象有点不同,Rows和Columns是直接引用工作表、区域的指定行、列
Rows("3:10").Rows(1).Select '选中第3行到第10行区域中的第1行
Columns("B:G").Columns(3).Select '选中第3行到第10行区域中的第1行

4.Union方法

将多个单元格区域粘在一起,并同时对其进行操作

案例:选中A1:F14区域中,所有数值与A1相同的单元格
Sub Rnge5()
    Dim myRng As Range, n As Range
    Set myRng = Range("A1")
    For Each n In Range("A1:E14")
        If n.Value = Range("A1").Value Then
            Set myRng = Union(myRng, n)
        End If
    Next
    myRng.Select
End Sub

5.Offset属性

与同名Excel函数的原理一样
Range("A1").offset(2,3).Value = 100 '往下走2行、往右走3列

6.Resize属性

以目标单元格区域为对象,将范围扩大或缩小到指定范围
Range("A1").Resize(5,4).Select '放大到 5行x4列
Range("B1:H10").Resize(2,1).Select '缩小到 2x1

7.UsedRange属性

返回包含所有已使用单元格的矩形区域
比如,表里就A1和C10有数据,那么返回数据为 A1:C10

8.End属性

作用相当于在Excel里使用 Ctrl+方向键,需要配合"方向"参数使用

语句格式

Range("C5").End(xlUp).Select

参数说明
参数 说明
xlToLeft 向左移动
xlToRight 向右移动
xlUp 向上移动
xlDown 向下移动
案例:在数列的最后一格后边插入1个1~100的随机整数
Sub Rnge6()
    Range("A65536").End(xlUp).Offset(1, 0).Value = Int(Rnd() * 100)
End Sub

9.Value属性

Value 是Range的默认属性,在赋值时,可以被省略
Range("B1:H10").Value = 100 '两者的意义是一样的
Range("B1") = 100

10.Count属性

Count可以计算区域里一共包含多少单元格
Range("B1:H10").Count
加上Rows和Columns,可以看纵、横的格数
Range("B1:H10").Rows.Count
Range("B1:H10").Columns.Count

11.复制粘贴

复制B1的数据,并粘贴到C1
Range("B1").Copy Range("C1")
跨工作表粘贴
Worksheets("Sheet1").Range("B1:B10").Copy Worksheets("Sheet2").Range("C1:C10")

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容