『開いた時に今日の日付にジャンプ』(たかだ) 「カレンダー」「部屋貸し出し」「その他」というシートがあります。 「カレンダー」「部屋貸し出し」シートには1年間の日付がずらっと並んでいる 感じです。 そのエクセルを開いた時に、「カレンダー」「部屋貸し出し」共に 今日の日付が上の方に表示されるようにしたいのが希望です。 このサイトとかを参考にさせてもらって下記のような構文が出てきた のですが、少し違うようです。。。。。 -------------------------- ↓こちらの構文だと「カレンダー」シートのみに反映するので、 シートをいくつか表記する事は可能でしょうか? Sub Auto_Open() Dim z As Variant Dim sh As Worksheet Set sh = Sheets("カレンダー") '対象シート z = Application.Match(CDbl(Date), sh.Columns("A"), 0) If IsNumeric(z) Then Application.Goto sh.Range("A" & z) Else Application.OnTime Now(), "ThisWorkbook.NFD" End If End Sub Public Sub NFD() MsgBox "今日の日付がないんですが?" End Sub -------------------------- ↓こちらの構文だと今日の日付が入っているシートが二つ選ばれて 今日の日付欄にカーソルはあるのですが、スクロールの下の方に隠れてしまいます。 Dim mys As Worksheet Application.ScreenUpdating = False On Error Resume Next For Each mys In Worksheets mys.Activate Columns("A:A").Find(What:=Date).Select If Err.Number = 0 Then Exit Sub Err.Clear Next mys Application.ScreenUpdating = True End Sub -------------------------- よろしくお願いいたします。 < 使用 Excel:Excel2010、使用 OS:Windows8 > ---- ちょっといじりました Sub Auto_Open() Dim z As Variant Dim sh As Worksheet For Each sh In Sheets(Array("カレンダー", "部屋貸し出し")) '対象シート z = Application.Match(CDbl(Date), sh.Columns("A"), 0) If IsNumeric(z) Then Application.Goto sh.Range("A" & z) Else Application.OnTime Now(), "ThisWorkbook.NFD" End If Next End Sub なぜに Application.OnTimeを使っているのかわかりませんがそのままにしてあります。 (渡辺ひかる) 2019/08/07(水) 16:51 ---- 早速修正していただきまして、ありがとうございます! こちらで問題なく動きました。 >なぜに >Application.OnTimeを使っているのかわかりませんがそのままにしてあります その通りでした・・・。必要ないですね。 コピペなどをしていて残っていたようです。 (たかだ) 2019/08/07(水) 18:11