[[20221117172849]] 『カレンダーの日付をクリックして該当のセルにとび』(popo) ページの最後に飛ぶ

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

 

『カレンダーの日付をクリックして該当のセルにとびたい』(popo)

よろしくお願いします。表型のカレンダー形式の日付をクリックすると該当セル(横型のカレンダーの同じ日のセル)にジャンプするようにしたいです。
月によってセルがずれるためうまくいきません。ご教示お願いします。

< 使用 Excel:Office365、使用 OS:Windows10 >


 こんにちは

 表型のカレンダーとは、何ですか?
 ユーザフォームを使用して作成したのですか?

 横型のカレンダーは、どんなレイアウトでしょうか?
 1日のセル番地がわかれば、だいたい想像出来ます。

 ジャンプは、ハイパーリンク関数でされようと
 してるのですか? それともVBAですか?

 取り敢えず、最低限の情報があるとアドバイスしていただける
 回答者がいると思いますよ。

(あみな) 2022/11/17(木) 17:56:04


この情報でご教示するとかいくらここの回答者が優秀でもは無理でしょ、
せめてシートのレイアウトぐらい出してせないの?
(通りすがり) 2022/11/17(木) 18:02:28

失礼しました。同じシート内に表型カレンダー(卓上カレンダーの形式)と横型のカレンダーを作成しています。
ハイパーリンクでとぶようにしたいです。

表型のカレンダー形式(卓上カレンダーの形式)は自分で式を入力して作成しています。仮に2023年1月だと1月1日が
セルA3から始まり、B3、C3…。次の週の8日がA4からです。

横型のカレンダーはM1、N1、L1…のセルに日付が順番に入っています。

横型のカレンダーのセル番地はシートをコピーして翌月にしてもセル番地は変わりません。
表型の方はカレンダー形式なのでセル番地が変更になります。

シートをコピーしても日付から同じ日付のところにジャンプしたいです。よろしくお願いいたします。
(popo) 2022/11/17(木) 18:41:10


各行はスペース区切りになっていて、それぞれA列 B列 C列...に対応する

まずA1:G14に関して、これは卓上カレンダー
1行目はその年 その月 その月の1日の曜日 その月の最後の日にち
2行目は曜日
3行目からら8行目がカレンダー
9行目から14行目は作業エリア

 01行 2022 11 =WEEKDAY(DATE(A1,B1,1)) =DAY(DATE(IF(B1=12,A1+1,A1),IF(B1=12,1,B1+1),1)-1)
 02行 日 月 火 水 木 金 土
 03行 =HYPERLINK("#R1C"&(IF(A9="",0,A9)+12),A9)<---これを右に7つコピー
 04行 =HYPERLINK("#R1C"&(IF(A10="",0,A10)+12),A10)<---これを右に7つコピー
 05行 =HYPERLINK("#R1C"&(IF(A11="",0,A11)+12),A11)<---これを右に7つコピー
 06行 =HYPERLINK("#R1C"&(IF(A12="",0,A12)+12),A12)<---これを右に7つコピー
 07行 =HYPERLINK("#R1C"&(IF(A13="",0,A13)+12),A13)<---これを右に7つコピー
 08行 =HYPERLINK("#R1C"&(IF(A14="",0,A14)+12),A14)<---これを右に7つコピー
 09行 =IF($C$1=1,1,"") =IF($C$1=2,1,IF(ISNUMBER(A9),A9+1,"")) =IF($C$1=3,1,IF(ISNUMBER(B9),B9+1,"")) =IF($C$1=4,1,IF(ISNUMBER(C9),C9+1,"")) =IF($C$1=5,1,IF(ISNUMBER(D9),D9+1,"")) =IF($C$1=6,1,IF(ISNUMBER(E9),E9+1,"")) =IF($C$1=7,1,IF(ISNUMBER(F9),F9+1,""))
 10行 =IF(ISNUMBER(G9),IF(G9+1<=$D$1,G9+1,""),"") =IF(ISNUMBER(A10),IF(A10+1<=$D$1,A10+1,""),"")<---これを右に6つコピー
 11行 =IF(ISNUMBER(G10),IF(G10+1<=$D$1,G10+1,""),"") =IF(ISNUMBER(A11),IF(A11+1<=$D$1,A11+1,""),"")<---これを右に6つコピー
 12行 =IF(ISNUMBER(G11),IF(G11+1<=$D$1,G11+1,""),"") =IF(ISNUMBER(A12),IF(A12+1<=$D$1,A12+1,""),"")<---これを右に6つコピー
 13行 =IF(ISNUMBER(G12),IF(G12+1<=$D$1,G12+1,""),"") =IF(ISNUMBER(A13),IF(A13+1<=$D$1,A13+1,""),"")<---これを右に6つコピー
 14行 =IF(ISNUMBER(G13),IF(G13+1<=$D$1,G13+1,""),"") =IF(ISNUMBER(A14),IF(A14+1<=$D$1,A14+1,""),"")<---これを右に6つコピー

M1:AP2に関して、これは横型のカレンダー
1行目が日付、2行目が曜日

 01行 1 =IF(M1+1<=$D$1,M1+1,"")<---これを右に30個コピー
 02行 =IFERROR(TEXT(DATE($A$1,$B$1,M1),"aaa"),"")<---これを右に31個コピー

色を付けたい場合は条件付き書式で工夫する

(通りすがり) 2022/11/18(金) 17:19:25


作業エリアがいらないバージョン
A1:G8
 01行 2022 11 =WEEKDAY(DATE(A1,B1,1))
 02行 日 月 火 水 木 金 土
 03行 =IF(MONTH(DATE($A$1,$B$1,1)-$C$1+1)=$B$1,HYPERLINK("#R1C"&(DAY(DATE($A$1,$B$1,1)-$C$1+1)+12),DATE($A$1,$B$1,1)-$C$1+1),DATE($A$1,$B$1,1)-$C$1+1) =IF(MONTH(A3+1)=$B$1,HYPERLINK("#R1C"&(DAY(A3+1)+12),A3+1),A3+1)<---これを右に6個コピー、書式はdd
 04行 =IF(MONTH(G3+1)=$B$1,HYPERLINK("#R1C"&(DAY(G3+1)+12),G3+1),G3+1) =IF(MONTH(A4+1)=$B$1,HYPERLINK("#R1C"&(DAY(A4+1)+12),A4+1),A4+1)<---これを右に6個コピー、書式はdd
 05行 =IF(MONTH(G4+1)=$B$1,HYPERLINK("#R1C"&(DAY(G4+1)+12),G4+1),G4+1) =IF(MONTH(A5+1)=$B$1,HYPERLINK("#R1C"&(DAY(A5+1)+12),A5+1),A5+1)<---これを右に6個コピー、書式はdd
 06行 =IF(MONTH(G5+1)=$B$1,HYPERLINK("#R1C"&(DAY(G5+1)+12),G5+1),G5+1) =IF(MONTH(A6+1)=$B$1,HYPERLINK("#R1C"&(DAY(A6+1)+12),A6+1),A6+1)<---これを右に6個コピー、書式はdd
 07行 =IF(MONTH(G6+1)=$B$1,HYPERLINK("#R1C"&(DAY(G6+1)+12),G6+1),G6+1) =IF(MONTH(A7+1)=$B$1,HYPERLINK("#R1C"&(DAY(A7+1)+12),A7+1),A7+1)<---これを右に6個コピー、書式はdd
 08行 =IF(MONTH(G7+1)=$B$1,HYPERLINK("#R1C"&(DAY(G7+1)+12),G7+1),G7+1) =IF(MONTH(A8+1)=$B$1,HYPERLINK("#R1C"&(DAY(A8+1)+12),A8+1),A8+1)<---これを右に6個コピー、書式はdd

M1:AP2

 01行 =DATE(A1,B1,1) =M1+1<---これを右に30個コピー、書式はdd
 02行 =M1<---これを右に31個コピー、書式はaaa

あとは条件付き書式なり何なりで工夫して。

(通りすがり) 2022/11/18(金) 21:01:43


エラーが表示される?
(えらー) 2022/11/19(土) 11:15:37

何度もすいません。
上の方法でうまくいったのですが、例えば横のカレンダーに列を挿入した場合、
リンク先が変更にならずに済む方法はあるでしょうか。

横のカレンダーのセル番地を
1日がM1、2日がP1、3日がS1、4日がV1…
日の前後に1列ずつ挿入したいです。

卓上形式のカレンダーのセル番地は変更なしです。

よろしくお願いします。
(popo) 2022/11/24(木) 01:05:27


match関数を使うようにしました。
 1 2023 1
 2 日 月 火 水 木 金 土
 3 =IF(MONTH(DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1))+1)=$B$1,HYPERLINK("#R1C"&(MATCH(DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1))+1,M1:BE1)+12),DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1))+1),HYPERLINK("",DATE($A$1,$B$1,1)-WEEKDAY(DATE($A$1,$B$1,1))+1)) =IF(MONTH(A3+1)=$B$1,HYPERLINK("#R1C"&(MATCH(A3+1,$M$1:$AQ$1)+12),A3+1),HYPERLINK("",A3+1))<---右に6つコピー
 4 =IF(MONTH(G3+1)=$B$1,HYPERLINK("#R1C"&(MATCH(G3+1,$M$1:$AQ$1)+12),G3+1),HYPERLINK("",G3+1)) =IF(MONTH(A4+1)=$B$1,HYPERLINK("#R1C"&(MATCH(A4+1,$M$1:$AQ$1)+12),A4+1),HYPERLINK("",A4+1))<---右に6つコピー
 5 =IF(MONTH(A4+1)=$B$1,HYPERLINK("#R1C"&(MATCH(A4+1,$M$1:$AQ$1)+12),A4+1),HYPERLINK("",A4+1)) =IF(MONTH(A5+1)=$B$1,HYPERLINK("#R1C"&(MATCH(A5+1,$M$1:$AQ$1)+12),A5+1),HYPERLINK("",A5+1))<---右に6つコピー
 6 =IF(MONTH(G5+1)=$B$1,HYPERLINK("#R1C"&(MATCH(G5+1,$M$1:$AQ$1)+12),G5+1),HYPERLINK("",G5+1)) =IF(MONTH(A6+1)=$B$1,HYPERLINK("#R1C"&(MATCH(A6+1,$M$1:$AQ$1)+12),A6+1),HYPERLINK("",A6+1))<---右に6つコピー
 7 =IF(MONTH(G6+1)=$B$1,HYPERLINK("#R1C"&(MATCH(G6+1,$M$1:$AQ$1)+12),G6+1),HYPERLINK("",G6+1)) =IF(MONTH(A7+1)=$B$1,HYPERLINK("#R1C"&(MATCH(A7+1,$M$1:$AQ$1)+12),A7+1),HYPERLINK("",A7+1))<---右に6つコピー
 8 =IF(MONTH(G7+1)=$B$1,HYPERLINK("#R1C"&(MATCH(G7+1,$M$1:$AQ$1)+12),G7+1),HYPERLINK("",G7+1)) =IF(MONTH(A8+1)=$B$1,HYPERLINK("#R1C"&(MATCH(A8+1,$M$1:$AQ$1)+12),A8+1),HYPERLINK("",A8+1))<---右に6つコピー

(通りすがり) 2022/12/03(土) 17:45:21


コメント返信:

[ 一覧(最新更新順) ]


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