所以我一直坚持在我的工作表中找到最后一个问题。我的工作表中的月份是由EOMONTH公式组成的。因此,我想找到每个月的潜在价值,因此我可以忽略格式化问题。
Function Last_Day_Of_the_Month()
Dim WrkMonths As Integer
Dim StartDate As Date
Dim EndDate As Long
StartDate = Now
EndDate = WorksheetFunction.EoMonth(StartDate, -1)
Cells.Find(What:=EndDate, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
End Function
这只返回错误91,它找不到值。 非常感谢任何帮助。
答案 0 :(得分:1)
Abit尴尬,因为我可以发誓这段代码之前没有用...但我解决了我的问题,这是我用过的代码,如果有人需要的话。
Sub lastdayofthemonth()
Dim StartDate As Date
Dim EndDate As Date
StartDate = Now
EndDate = WorksheetFunction.EoMonth(StartDate, -1)
Cells.Find(What:=Format(EndDate, "MMMM YYYY"), After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Select
答案 1 :(得分:0)
如果您将EndDate
变量设置为Date
而不是Long
,那么它应该可以正常工作,前提是该值在活动工作表上。
如果不是你仍然会得到错误91.为了避免这种情况,设置一个变量来存储找到的日期,并在激活之前检查它是否包含任何内容。
Sub Last_Day_Of_the_Month()
Dim WrkMonths As Integer
Dim StartDate As Date
Dim EndDate As Date
Dim rFound As Range
StartDate = Now
EndDate = WorksheetFunction.EoMonth(StartDate, -1)
Set rFound = Cells.Find(What:=EndDate, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False)
If Not rFound Is Nothing Then
rFound.Activate
End If
End Sub