• ベストアンサー

エクセル関数

エクセルで表のA列に1年分の日付を入力してあります。(A2からA366まで) 特定のセル(A1)をクリックすると、今日の日付のセルにジャンプできるような 関数はありますか?よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BookerL
  • ベストアンサー率52% (599/1132)
回答No.4

#3です。 >正確に言いますと、 >日付の入力されているセルはA4からA733でしたので、 >1列で1日ではなくて、 >2列セル結合して1日分となっていました。  こういうことは、初めからいっておいてもらわなくちゃ。 次のような感じでしょうか。 '----------------ここから Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim temp As Long If Target.Address <> "$A$1" Then Exit Sub temp = DateDiff("d", Range("A4"), Date) Range("A4").Offset(temp * 2, 0).Select End Sub '----------------ここまで

chachahous
質問者

お礼

何度もお手数かけまして、すいませんでした。 思い通りのことが出来ました。 ありがとうございました。

その他の回答 (3)

  • BookerL
  • ベストアンサー率52% (599/1132)
回答No.3

>VBAとかマクロは使用したことがないのですが、 >難しいのでしょうか?  使うだけなら簡単です。  そのシートのタブ(シートの下の"Sheet1"とかあるところ)を右クリックして、 「コードの表示」をクリックします。  MicrosoftVisual Basic というウインドが 開くので、右側の真っ白けのところに次のコードをコピー・貼り付けをします。 '----------------ここから Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim temp As Long If Target.Address <> "$A$1" Then Exit Sub temp = DateDiff("d", Range("A2"), Date) Range("A2").Offset(temp, 0).Select End Sub '----------------ここまで これで、A1 をクリックすると、今日の日付のセルが選択されると思います。お試しください。  

chachahous
質問者

補足

丁寧な回答ありがとうございます。 早速やってみましたが、エラーになりました。 正確に言いますと、 日付の入力されているセルはA4からA733でしたので、 ("A2")を("A4")にしてみたら、 6月16日が選択されました。 1列で1日ではなくて、 2列セル結合して1日分となっていました。 それから、日付は1月5日から翌1月4日までの1年分です。 お手数かけますが、補足できましたら、よろしくお願いいたします。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.2

関数では動的事はできません。 セルのクリックの検知は出来ませんが、VBAなら可能です。 マクロボタンか、セルのダブルクリックで開始は可能です。

chachahous
質問者

補足

回答ありがとうございます。 ハイパーリンクで、出来ないかと思ったのですが・・・ VBAとかマクロは使用したことがないのですが、 難しいのでしょうか? 引き続きよろしくお願いいたします。

noname#101303
noname#101303
回答No.1

元々、セルをクリックしたらジャンプする関数自体が有りません。 やるなら、VBAで作成するしかないでしょう。

chachahous
質問者

補足

回答ありがとうございます。 ハイパーリンクで出来ないかと思ったのですが・・・ VBAは分からないのですが、難しいのでしょうか? 引き続きよろしくお願いいたします。

関連するQ&A