VBA实用小程序22:查找工作表中含有指定日期的所有单元格
微信公众号: excelperfect
有时候,我们想要知道工作表中含有某日期的单元格有哪些,那么,下面的代码可以帮助你实现。
厕所英雄
主演:阿克谢·库玛尔 / 布米·佩德卡尔 / 阿努潘·凯尔
猫眼电影演出
广告
购买
在标准模块中输入下面的代码:
Function FindDates(ByRef FindDate As Date, Optional LookInRange As Range)As Range
"
声明变量
Dim rngTarget As Range,strFirstAddr As String
Dim rngFind As Range,rngLastCell As Range
"
如果没有指定区域
,
则设置为工作表中当前已使用区域
If LookInRange Is Nothing Then
Set LookInRange =ActiveSheet.UsedRange
End If
With LookInRange
"
获取查找区域的最后一个单元格
Set rngLastCell =.Cells(.Cells.Count)
"
从最后一个单元格开始向前查找
Set rngTarget =.Find(What:=FindDate, _
After:=rngLastCell, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows)
"
如果找到单元格
If Not rngTarget Is NothingThen
Set rngFind = rngTarget
strFirstAddr = rngTarget.Address
Do
"
将找到的单元格合并
Set rngFind =Union(rngFind, rngTarget)
"
查找下一个单元格
Set rngTarget =.FindNext(After:=rngTarget)
"
如果找不到单元格了或者找到的单元格是最先找到的单元格
,
则退出循环
Loop Until rngTarget IsNothing Or rngTarget.Address = strFirstAddr
End If
End With
"
返回值
If rngFind Is Nothing Then
Set FindDates = Nothing
Else
Set FindDates = rngFind
End If
Set LookInRange = Nothing
Set rngTarget = Nothing
Set rngFind = Nothing
Set rngLastCell = Nothing
End Function
给上述自定义函数传递要查找的日期以及单元格区域,将返回单元格区域中所有含有该日期的单元格。如果没有指定单元格区域,那么使用当前工作表中已使用的区域。
欢迎分享本文,转载请注明出处。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
- 冰糖加苦瓜泡水喝原来这么厉害,每个男女都需要,太实用了
- 如何解决你的大象腿?其实用这些跑步方法就能收获好的效果!
- 300多位老乡的中秋送礼清单,既实用又体面,收藏了!
- 那些你以为一次性的小东西,其实用处可多着了!
- 【实用】100个你不知道的生活小妙招,个个超实用!
- 扩大股份回购情形简化决策程序
- 拼房App涉黄遭封禁小程序换马甲再复活 异性拼床功能更隐蔽
- 实用帖!行家教你一分钟挑选肥美大闸蟹!
- 8月48只基金进入清算程序!再创单月新高,竟有公司今年清盘20只
- 白酒加一物,专治颈椎病、肩周炎、腰腿疼痛,超实用!