excel中使用vba获取多个单元格区域的交叉范围
1、首先我们打开一个工作样表作为例子。
2、在工作中,我们常常会遇到选择多个工作表区域,而两个工作表区域的交叉范围如果需要我们再去选取的话,需要非常的小心,不然选择错误了又得重新来过。
3、实际上我们用vba可以方便的对这个区域作出选择。我们使用 alt+f11 组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码:
Option Explicit
Sub quyu()
Dim rng1 As Range
Dim rng2 As Range
Dim rng As Range
Set rng1 = Sheets(1).Range("d6:g13")
Set rng2 = Sheets(1).Range("g11:k15")
Set rng = Application.Intersect(rng1, rng2)
'MsgBox rng.Address
rng.Formula = "=rand()"
End Sub
4、先定义一下三个变量为区域变量,然后将 选择的两个区域分别赋值给rng1,rng2.这里使用intersect方法来求取两个范围的交叉区域。
5、这里使用 msgbox来显示rng变量 , 不能直接使用,必须使用rng对象的address方法才有返回值。
6、但是rng变量可以直接用来赋值,我们可以直接使用 rng.Formula = "=rand()" 这样的方式来对交叉范围进行赋值。