dポイントプレゼントキャンペーン実施中!

こんにちわ! どなたか教えてくださいませんか?

EXCELのセル“A1”にHyperlink関数が入れてありまして、
隣のセル“B1”に入れた文字を組み込んで、URLを生成し、リンクを作るようになっています。
こんな感じです。

  =Hyperlink("http://●●●"&[B1]&"●●●/")

それで、B1に文字を入れたら、自動的にそのリンク先を開くように、
つまりは、A1にできたリンクをわたしの代わりにクリックしてくれるようなマクロを作りたい
のですが、どうすればいいでしょうか?

いろいろやってみたのですが、どれもエラーになってしまいまして。

どうかよろしくお願いいたします。

A 回答 (2件)

HYPERLINK関数はハイパーリンクオブジェクトを生成しないので、通常のマクロではハイパーリンク(ハイパーリンクオブジェクト)として取り扱うことができません。



というワケでチカラワザ:
シート名タブを右クリックしてコードの表示を選ぶ
現れたシートに下記をコピー貼り付ける

private sub worksheet_change(byval Target as excel.range)
if target.address <> "$B$1" then exit sub
activeworkbook.followhyperlink application.evaluate(range("A1").formula)
end sub

A1に埋めておくHYPERLINK関数は,ご質問の通りで書いたのでは間違いなのは,実際に試してみればすぐに確認できますね。正しく作成してください。
B1に文字を記入してEnterすると,マクロが作動します。
    • good
    • 0
この回答へのお礼

さっそくご回答くださいまして、ありがとうございます。

うまくいきました!

activeworkbook.followhyperlink application.evaluate(range("A1").formula)
の1文だけがどうしても浮かばなかったのです。

HYPERLINK関数の書き方のまちがいもわかりました。
[]よけいでしたね。実際には入れてませんでが、例文作るときにまちがえました。

わたしにもわかるように説明してくださって、
ほんとうにありがとうございました。

お礼日時:2011/12/17 15:31

普通の、エクセル関数やVBAの課題ではないと思う。

質問者の
思いつきというか、我儘だと思う。もっと上のレベルのAPIなどならできるかもしれないが。
それでシートにコマンドボタンを1つ貼り付けておいて、そのクリックイベントにハイパーリンクを
発動するようにしておいて
例えばSheet1のクリックイベントで
Private Sub CommandButton1_Click()
MsgBox "AAA" 'テスト用。ここは本当はHyperLinkのFollowのコード
End Sub
を作っておく。
そして標準モジュールに
Sub test01()
Application.Run "'C:\Documents and Settings\XXX\My Documents\Book2.xls'!Sheet1.CommandButton1_Click"
End Sub
と入れて、上記のフルパスのフォルダのBook2 の名で保存する。
そのブックを開いて、必要な都度test01を実行すれば、マウスで、シートの上記のボタンをクリックしたと同じ効果が発生するはず。
過去にもこのパターンの質問回答はある。
でもこんなことをするなら、プログラムの中に、必要なタイミングを見つけて(ChangeイベントでB1セルで起こったなど)、
Sub test02()
ActiveWorkbook.FollowHyperlink "http://www.XXX.YYY"
End Sub
の1行を入れたら仕舞いではないですか。
    • good
    • 0
この回答へのお礼

さっそくお教えいただいて、ありがとうございます。

一応やってみたのですが、うまくいきませんでした。
わたしの今の能力では、残念ながら、よく理解できませんでした。

反対に、これだけ聞いてあっさりできるようなら、
けっこう試行錯誤はしてみたので、いずれ自力で解決できたと思います。

いろんな方法でネットで検索もしてみたのですが、
どうしても見つからなかったので、おたずねしたのでした。

こんど、ものを教えてくださるなら、まずは
わたしのレベルや思いを受容してください。

お礼日時:2011/12/17 15:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A