[[20101115005542]] 『日付を検索』(bb) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『日付を検索』(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

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.