[[20190807162402]] 『開いた時に今日の日付にジャンプ』(たかだ) ページの最後に飛ぶ

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

 

『開いた時に今日の日付にジャンプ』(たかだ)

「カレンダー」「部屋貸し出し」「その他」というシートがあります。
「カレンダー」「部屋貸し出し」シートには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


コメント返信:

[ 一覧(最新更新順) ]


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