'期間内の行の範囲を調べる
Private Function MyFindDate(ByVal stdt As Date, _
ByVal endt As Date, ByRef lstr As Long, _
ByRef lenr As Long) As Long
Dim rng As Range
Dim lpos As Long
MyFindDate = 0
lstr = 0
'日付が範囲内にあるかどうか。なければぬける
If Application.Max(Sheets("日々の収入・支出入力").Range("B12:B65536")) < stdt Then Exit Function
If Application.Min(Sheets("日々の収入・支出入力").Range("B12:B65536")) > endt Then Exit Function
'開始日の日付を検索
Do
Set rng = Worksheets("日々の収入・支出入力").Range("B12:B65536").CurrentRegion
Set rng = rng.Find(Format(stdt, "yyyy年mm月dd日(aaa)"), , xlValues)
If Not rng Is Nothing Then
lstr = rng.Row
Exit Do
End If
stdt = stdt + 1
If stdt > endt Then
Exit Do
End If
Loop
'見つからなければぬける
If lstr = 0 Then Exit Function
'終了日の行を探す
lpos = 1
Do
If Cells(lstr + lpos, 2) = "" Then
lenr = lstr + lpos - 1
Exit Do
End If
If Cells(lstr + lpos, 2) > endt Then
lenr = lstr + lpos - 1
Exit Do
End If
lpos = lpos + 1
Loop
'テスト用
MsgBox stdt & " ~ " & endt & vbCrLf & vbCrLf & "開始行 : " & lstr & " 終了行:" & lenr
End Function
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します