- ベストアンサー
ファイルのオープン時に今日の日付にジャンプ
エクセルでA列に日付を入力しました。 ファイルのオープン時に自動的に今日の日付にカーソルがジャンプするように設定したいのですが? また、ファイルオープン時にカーソルが一番左又は日付の右に移動するように設定できますか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。KenKen_SP です。 Find メソッドは文字列の検索なので、検索値を日付の表示形式に書式を そろえてやる必要があります。Match 関数を使うと日付書式に関係なく シリアル値で検索ができます。ご参考までに。 標準モジュールに下記をコピー&ペーストして下さい。 Sub AUTO_OPEN() Dim lngR As Long On Error Resume Next Worksheets("Sheet1").Activate lngR = WorksheetFunction.Match(CDbl(Date), Range("A:A"), 0) If Err.Number = 0 Then Cells(lngR, "A").Select Else MsgBox "今日の日付は見つかりません" End If On Error GoTo 0 End Sub
その他の回答 (3)
- bonaron
- ベストアンサー率64% (482/745)
日付の右に移動するものです。 日付の列の場合は Offset(0, 0) にしてください。 Public Sub Auto_Open() Dim rng As Range On Error GoTo Func_Exit Worksheets("sheet1").Activate For Each rng In ActiveSheet.Range("A:A") If IsDate(rng) Then If rng = Date Then rng.Offset(0, 1).Select Exit For End If End If Next Func_Exit: Exit Sub End Sub
- masa_019
- ベストアンサー率61% (121/197)
#1の回答の訂正です。 よく確認しないで、投稿してしまいました。 今日の日付にジャンプさせるには、 Sub Auto_Open() Worksheets("Sheet1").Activate Range("A:A").Find(What:=Format(Date, "m月d日"), _ LookIn:=xlValues, LookAt:=xlWhole).Select End Sub です。Offsetは余計でした。 ひとつ右隣を選択の場合には Offset(, 1) を付けてください。
- masa_019
- ベストアンサー率61% (121/197)
こんばんは。 日付の入力されたシートの名前がSheet1だとして、 ファイルを開く時にマクロを動作させるには、 標準モジュールに Sub Auto_Open() Worksheets("Sheet1").Activate Range("A:A").Find(What:=Format(Date, "m月d日"), _ LookIn:=xlValues, LookAt:=xlWhole).Offset(, 1). _ Select End Sub とするか、 ThisWorkbookの Private Sub Workbook_Open()に 上記と同じ内容のコードを書けば出来ると思います。 サンプルでは、Format関数の書式表示文字列を "m月d日"としていますが、この部分は実際の書式表示に 合わせて変えてください。 また日付のセルの右を選択させるには、上記で選択されたセルのOffset(,1)を 選択すれば良いと思います。
お礼
大変参考になりました。 ありがとうございました。