[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『今日のハイパーリンクを選択し飛ぶ』(kiki)
よろしくお願いします。
1日1セルのカレンダーが1年分並んでいるシートがあります。 他のシートには365日付入りの表が1シート1月分で並んでいます。 カレンダーのそれぞれの日には、ハイパーリンクが入っており 他のシートの日付セルとリンクしております。 今考えているのは、カレンダーのトップに 「昨日」「今日」「明日」というハイパーリンク又は マクロボタンを作って、カレンダーを探さなくても 直近の日に飛べるようにできないか…ということです。 シート名に日付を入れていれば =HYPERLINK("#'"&TEXT(TODAY(),"m月d日(aaa)")&"'!A1","今日") で出来ることをここの検索で知りました。 今日の日付をシート内で探し、そこが示しているハイパーリンクへ 飛ぶ…ということが可能なのでしょうか? または、マクロでできるでしょうか? よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
とんちんかんなレスをしてましたので削除しました。 13:39
(β) 2015/01/28(水) 13:31
あれ。。。? 回答したつもりが。。。 更新し忘れたかも?
「今日」の例。
=HYPERLINK(TEXT(TODAY(),"!#yyyy年m月!!A"""&MATCH(TODAY(),INDIRECT(TEXT(TODAY(),"yyyy年m月!!A:A")))&""""),"今日")
※年間日付のシートから各月シートの日付にリンク。 ※シート名 「2015年m月」みたいな感じを想定。 ※各月シートのA列に日付で、A列にリンク。 (GobGob) 2015/01/28(水) 13:50
このシート上の日付の表示書式はどういうものですか?
(β) 2015/01/28(水) 14:17
返信遅くなり申し訳ありません。 シート上の表示ですが カレンダーは d 表はm"月"d"日"(aaa)です。 きっとGobGobさんの関数もそのあたりの問題なのでしょうか うまく動きませんでした。(私の説明不足で申し訳ありません) 私も頑張って考えてみます。
(kiki) 2015/01/28(水) 18:51
マクロだとこんな感じでしょうか。
Sub Test() Dim r As Range
Set r = Cells.Find(What:=Format(Date, "m月d日(aaa)"), LookIn:=xlValues, LookAt:=xlWhole)
If r Is Nothing Then MsgBox "今日の日付がありません" Exit Sub End If
If r.Hyperlinks.Count = 0 Then MsgBox "今日の日付セルにハイパーリンクの設定がありません" Exit Sub End If
Application.Goto Evaluate(r.Hyperlinks(1).SubAddress).Parent.Range("A1"), True
End Sub
(β) 2015/01/28(水) 19:12
試してみました。 日付のある表のシートのA1に飛びますが 日付のあるセルに飛ばすことは可能でしょうか?
(kiki) 2015/01/28(水) 19:57
日付のある表の日付は、どこに入っていますか? 書式が d らしいので、 たとえば 28 なんてのを検索すると、日付じゃない 28 もシート上にありそうで。 (β) 2015/01/28(水) 21:01
↑「他のシートの日付セルとリンクしております」
これをみていなかった。
Application.Goto Evaluate(r.Hyperlinks(1).SubAddress).Parent.Range("A1"), True
これを
Application.Goto Evaluate(r.Hyperlinks(1).SubAddress)
これで試してみてください。
(β) 2015/01/28(水) 21:20
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.