『日付を検索』(bb) 前回教えていただいた日付を検索するコードですが現在1ヶ月分を6ヶ月分に変更したいのですがコードを見ても意味がわかりませんでした? 6ヶ月分に変更してもらえないでしょうか・・・?あと意味も教えてもらえませんか?宜しくお願いします。 Private Sub Worksheet_Activate() If Month(Date) <> Month(Range("F7")) Then MsgBox "今月のシートと違います。" Exit Sub End If Dim d As Integer Dim r As Integer d = Day(Date) r = d + 5 Cells(7, r).Select End Sub ---- このコードは月に依存していませんが、ここから読み取れることは シートの E7 〜 日付があるということです。 1カ月を6カ月にということは、シート内の日付が増えるということでしょうか。 でしたら、まずどう増えるかを提示するのが先だと思います。 (Mook) ---- E7が12/1だとGE7が5/1になり6ヶ月です。今まではE7〜AJ7でした。 宜しくお願いします。(bb) ---- GE7は6/1になりませんか ---- すみませんE7ではなくF7でした。G7のセルに=IF(F7="","",F7+1)です。(bb) ---- すみません。寝ぼけてて足し算間違えましたね。 シート名との関係はどうなるのでしょうか。 コードの最初の3行はシート名が今月の月数と一致しているかのチェックをして、 異なったら終了となっています。 (Mook) ---- Mookさん  引き続き、勘違いがあるような気がします。  F7は、最初の日付なので、シート名は関係ないと思います。 bbさん  そのコードは日付を検索するものではありません。  今日の日付が入っているべきセルを選択するものです。  実際に今日の日付が入っているかどうかは無関係です。  ・・でも、F7の日付と数式が正しく入っていれば、正しい結果になります。 以下の案も、今日の日付とF7セルの差を算出して、 今日の日付が入っているべきセルを選択するものです。 Private Sub Worksheet_Activate() Dim d As Long Dim r As Long d = Date - Range("F7").Value r = d + 6 If 5 < r And r < 188 Then Cells(7, r).Select Else MsgBox "F7の日付が正しくないのでは?" End If End Sub (半平太) 2010/11/15 08:47 ---- 指摘ありがとうございます。 まったく勘違いしていました。 位置を推定するのではなく、7行目から日付を検索する案です。 Private Sub Worksheet_Activate() Dim txtFmtToday As String txtFmtToday = Application.Text(Date, Range("F7").NumberFormat) Dim r As Range Set r = Rows(7).Find(What:=txtFmtToday, LookAt:=xlWhole, LookIn:=xlValues) If r Is Nothing Then MsgBox "該当日付がありません。" Else r.Activate End If End Sub (Mook) ---- Mookさんありがとうございました。出来ました。助かりました。ありがとうございました。(BB) ---- 再度質問させてください。このコードは今日の日付を探しますがこのコードの感じで今日から一週間先の 日付を探したいのですが出来ませんか?よろしくお願いします。(BB) ---- DateAdd("d",7,Date) が一週間後の日付です。 (Mook) ---- Mookさんたびたびすみません。 DateAdd("d",7,Date)をどこに組み込んだらいいのでしょうか? (BB) ---- > txtFmtToday = Application.Text(Date, Range("F7").NumberFormat) ここじゃないですか?                    ↓ txtFmtToday = Application.Text(DateAdd("d",7,Date), Range("F7").NumberFormat) (半平太) 2010/11/17 23:28