方法value作用于对象range时失败_Range基础:常见的处理方法

select

select方法是VBA中最常见的方法。不仅仅可以用于range,也可以用于其他对象,如工作表,工作簿等等。顾名思义,select方法就是要选中对象,这些对象可以是单个对象,也可以是一组多个对象的集合。

对range执行select方法,就相当于在Excel里用鼠标来框选单元格。例如,如果执行下面语句,系统就会显示相应的单元格被选中。

Range("a1:b2, c4:d5")
549a48597cd380fe6df1a44a7cea33e9.png

copy/cut

高频range方法之一。用于复制和剪切range。具体示例如下:

ActiveSheet.UsedRange.Copy Destination:=[a10]'或者ActiveSheet.UsedRange.Copy _ Destination:=Range("a10")'用_来续行

或者可以简写成

ActiveSheet.UsedRange.Copy [b10]

destination参数以及后面的内容可加可不加,也可以指定某个worksheet的某个单元格

如果不直接使用destination,则需要先选择一个range,然后用activesheet.paste

ActiveSheet.UsedRange.CopyRange("a10").SelectActiveSheet.Paste

注意这里不能简写成Range(“a10”).paste

单元格剪切与复制同理

count

用于获得指定对象的数量。例如,如果想获得range对象中单元格的数量,可以直接使用

range.count

如果想要得到range中行的数量,可以使用:

range.rows.count

注意 在使用range.rows时,如果range是不连续区域,则只会返回第一个区域的rows。这个要相当注意啊!!

举个例子,同样是一个range区域,但由于首个area不同,使用rows.count方法返回的结果是不同的。

Sub try_rows_count()Union(Range("a1:b2"), Range("a3")).SelectDebug.Print Selection.Rows.Count'返回2,因为第一个区域有两行Union(Range("a3"), Range("a1:b2")).SelectDebug.Print Selection.Rows.Count'返回1,因为第一个区域只有一行End Sub

Range交并运算

Union方法

或者可以使用Union方法,用于选中结合多个range

例如,下面这个例子用于选中两个区域赋值为1

Union(Range("a1:b3"), Range("d6")).SelectSelection.Value = 1

Intersect方法

使用Intersect 方法可以获得两个range的交集

intersect(Range("a1:b3"),range("1:1")).select

Intersect常常与currentregion或usedrange联用来获得最左边一列range

with方法

with方法其实适用于对指定对象进行操作,并不局限于range对象。使用with可以让代码更简洁,如果不使用with问题也不大,只是写起来比较麻烦。

With Selection .Interior.Color = vbYellow .Value = 10End With

以上总结了range常见的方法,在实际处理问题的过程中,我们还会遇到更多的range方法。A哥在这里建议大家多查阅官方文档,来使用最合适的方法来解决问题。

总结一下

  • range的常用方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值