excelperfect
有些情形下,我们需要判断一个单元格区域是否包含另一个单元格区域,或者说某单元格区域是否在另一个单元格区域内,这样好进行下一步的操作。可以使用一个简单的VBA自定义函数来实现。
程序代码如下:
代码语言:javascript复制Public Function blnRange(rng1 As Range, rng2 As Range) As Boolean
'检查rng1是否在rng2中
'如果是,则返回True
Dim rngInterRange As Range
Set rngInterRange = Application.Intersect(rng1, rng2)
blnRange= Not rngInterRange Is Nothing
Set rngInterRange = Nothing
End Function
程序使用了Application对象的Intersect方法,如果rng1代表的区域在rng2中,则返回True,否则返回False。
例如,如果当前选择的单元格处于列B中,则将设置其背景色为红色,否则设置其背景色为绿色,代码如下:
代码语言:javascript复制Sub test()
If blnRange(Range(Selection.Address), Columns("B:B")) Then
Selection.Interior.Color = vbRed
Else
Selection.Interior.Color = vbGreen
End If
End Sub
有时候,一段小小的程序能在编程中起到很大的作用。因此,在学习VBA时,可以收集一些实现特定功能的通用程序,方便要用时拿来就用。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。