- ベストアンサー
Excel VBAでの日付検索方法と合計値の出力
- Excel VBAを使用して、指定された月の日別の値を合計し、別のブックに出力する方法について教えてください。
- UserFormで指定された月の1日のデータが入力されている行番号を取得する方法について教えてください。
- 指定された月と日に基づいて、Excelのデータを検索し、合計値を計算して別のブックに出力するVBAの方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
時間も同一セルにあるのを見落としてました Dim myDay As String myDay = txt_年.Value & "/" & txt_月.Value & "/1*" Set Obj = Worksheets("sheet1").Cells.Find(myDay, LookAt:=xlWhole) にしてください。 あとループして全て探し出さないとダメなんじゃないでしょうか With Worksheets("sheet1").Range("a:a") Set Obj = .Find(myDay, LookIn:=xlValues) If Not Obj Is Nothing Then firstAddress = Obj.Address Do Debug.Print Obj.Row Set Obj = .FindNext(c) Loop While Not Obj Is Nothing And Obj.Address <> firstAddress End If End With
その他の回答 (2)
- ki-aaa
- ベストアンサー率49% (105/213)
こんにちわ、もう解決してるかもしれないけど Sub test11() Dim Obj As Range Dim HitRow As Long Dim Cerday As String 'String に変える Dim myDay As Date With Worksheets("Sheet1") myDay = DateValue("2010/08/01") Cerday = Application.Text(myDay, .Range("A2").NumberFormat) '表示形式をセルのものと合わせる ↑ MsgBox Cerday Set Obj = .Range("A:A").Find(Cerday, LookAt:=xlWhole, LookIn:=xlValues) 'LookIn:=xlValues を指定する。 If Obj Is Nothing Then MsgBox "見つかりません。" Else MsgBox Obj.Address HitRow = Obj.Row End If End With End Sub '************************************************ Sub test22() Dim HitRow As Long Dim Cerday As Long With Worksheets("Sheet1") Cerday = DateValue("2010/8/1") MsgBox Cerday On Error Resume Next HitRow = Application.WorksheetFunction.Match _ (Cerday, .Range("A:A"), 0) 'Cells を Range("A:A")に変える Cellsではだめ If Err.Number <> 0 Then MsgBox "見つかりません。" Else MsgBox HitRow End If On Error GoTo 0 End With End Sub
- kmetu
- ベストアンサー率41% (562/1346)
Dim Cerday As Variant にしてください。 また Cerday=DateValue(myDate) ↓ Cerday=DateValue(myDay) ではないでしょうか。