如何用vba返回多个单元格区域的重叠单元格区域?

在处理excel单元格区域时,有时候需要获取重叠的单元格区域。

vba中的Application对象的Intersect方法可以返回多个单元格区域的重叠部分。

它的语法如下:

expression . Intersect( Arg1 , Arg2 , Arg3 , Arg4 , Arg5 , Arg6 , Arg7 , Arg8 , Arg9 , Arg10 , Arg11 , Arg12 , Arg13 , Arg14 , Arg15 , Arg16 , Arg17 , Arg18 , Arg19 , Arg20 , Arg21 , Arg22 , Arg23 , Arg24 , Arg25 , Arg26 , Arg27 , Arg28 , Arg29 , Arg30 )

我们经常用这个方法来返回一个已使用的单元格区域与某行或者某列的重叠部分,如以下代码所示:

Sub QQ1722187970()
    Dim oRng1 As Range
    Dim oRng2 As Range
    Dim oRng As Range
    Dim oWK As Worksheet
    Set oWK = ActiveSheet
    Set oRng1 = oWK.UsedRange
    Set oRng2 = oWK.Columns(1)
    '返回已经使用的单元格区域与第一列的重叠单元格区域
    Set oRng = Excel.Application.Intersect(oRng1, oRng2)
End Sub

 

       

发表评论