Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11 Home : Microsoft 365)
VSTACKにハイパーリンクをつけたい
投稿日時: 23/02/12 12:24:20
投稿者: toma100

こんにちは、よろしくお願いいたします。
 
あシート
いシート
うシート
のA1にそれぞれ「あ」「い」「う」とシート名を入力しています。
シート名をクリックしたらそのシートのA1に飛ぶようにしたくて
 
=HYPERLINK("#"&VSTACK(あ:う!A1)&"!A1",VSTACK(あ:う!A1))
 
としたのですが、



 
とすべてなってしまい、
あシートのリンクしか作成できません
理想は
 



 
となって、
あをクリックしたらあシートのA1に
いをクリックしたらいシートのA1に
うをクリックしたらいシートのA1に
 
にしたいです。
以前
FILTERXML関数の数式を教えていただいたのですが
解読が難しくてどうしてもわからずいたところ
VSTACK関数ができたので、=HYPERLINKに組み合わせてみたのですが
できなくて。。
VSTACK関数で抽出したシート名にHYPERLINKに組み合わせてリンクをつけるには
どうしたら可能でしょうか?
何卒よろしくお願いいたします(__)
 
 

回答
投稿日時: 23/02/12 13:59:41
投稿者: taitani
投稿者のウェブサイトに移動

うーん、なんか使用用途がよくわかりません。
実際に利用している、シート名が"あいう"はありえないかなと思いつつ。。。
以下の方が実用的ではないでしょうか。
’---------------------
1.数式タブ>「名前の定義」をクリック
2.名前を適当に (Sname など)設定し、参照範囲に「=GET.WORKBOOK(1)」を登録して、OK
3.シート、あ〜う の A1〜A3 に以下数式を登録
=HYPERLINK("#"&IFERROR(REPLACE(INDEX(SName,ROW(A1)),1,FIND("]",INDEX(SName,ROW(A1))),""),"")&"!A1",REPLACE(INDEX(SName,ROW(A1)),1,FIND("]",INDEX(SName,ROW(A1))),""))
※名前をSname と設定した場合です。
’---------------------
VSTACK にこだわる理由を明示的に教えてください。

投稿日時: 23/02/12 14:12:27
投稿者: toma100

taitani様
 
ありがとうございます!
参照範囲に「=GET.WORKBOOK(1)」は使ってきたのですが
2021や365では、マクロ関数が使えなくなってしまったのです。
セキュリティの関係で。。
 
ですので、VSTACK関数が使えるのでつかってみたのですが、
うまくできないというご相談です(__)

回答
投稿日時: 23/02/12 14:43:30
投稿者: taitani
投稿者のウェブサイトに移動

うーん、そういう事情があったんですね。
ソースを見つけることができなかったんですが、HYPERLINK と配列 (スピル) は相性が悪いのではないでしょうか。
 
回避策として、、
1.List シートを作成して、A1〜A3 に あ〜う を入力。
2.シート「あ」を選択後 Ctrl を押しながら「い」と「う」のシートを選択
3.A1〜A3 を選択した状態で、以下数式を入れ、Ctrl+Enter
=HYPERLINK("#"&List!A1&"!A1",List!A1)
 
しか思いつきませんでした。
他の方の回答も待ってみましょう。
※お力になれずすみません。

回答
投稿日時: 23/02/12 14:48:20
投稿者: んなっと

A1に
=VSTACK(あ:う!A1)
としてから、右隣のB1に
=HYPERLINK("#"&A1#&"!A1","ジャンプ")

投稿日時: 23/02/12 14:53:58
投稿者: toma100

taitani様
 
ありがとうございます!
HYPERLINK と配列 (スピル) は相性が悪いんですね、
ソースを探していただき本当にありがとうございます(__)
シート名を別に入力しておくのですね!
 
んなっと様
 
ありがとうございます!
数式を別にするのですね!
そうしてみます、いつもありがとうございます(__)