• ベストアンサー

エクセル ボタンへのマクロのやり方

エクセルを使用して、エクセル内に作成した"ボタン"をクリックすると指定のURLへ飛べるようにしたいのですが、どうやったらいいのでしょうか? 通常セル内に文字を入力してハイパーリンクをやればURLに飛べると思いますが、"ボタン"を付けた場合右クリックをしてもハイパーリンクの文字が出てきません。 マクロを使えば出来ると思うのですが、マクロもホントのホントに初心者なのでよく分かりません。 どなたか詳しく教えて頂けないでしょうか。 よろしくお願いいたします。

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

  • ベストアンサー
  • kmmk16
  • ベストアンサー率46% (32/69)
回答No.4

1)ハイパーリンクを使用する方法   A1にハイパーリンクがあるとします。 Sub ボタン1_Click() Range("A1").Hyperlinks(1).Follow NewWindow:=True End Sub 2)IEにて開く方法 Sub ボタン2_Click() Shell "EXPLORER.EXE http://・・・・・" End Sub http://・・・・・は、開きたいURL入れてください

WataWata3
質問者

お礼

ありがとうございます。 試して見たいと思います。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 これは、決まりきったスタイルです。それ以外という人もいるでしょうけれども……・ なお、以下のURLは、サイトのセキュリティのために、Unicode 空白が「"」の前に入ってしまうことがありますから、改めて入れなおさないと働かないことがあります。 Private Sub CommandButton1_Click()  '教えてGoo Office カテゴリ  Const mURL As String = "http://oshiete1.goo.ne.jp/207/218/c232.html"  IE_Open mURL End Sub Sub IE_Open(mURL)   Dim objIE As Object      On Error GoTo EndProcess      Set objIE = CreateObject("InternetExplorer.Application")   With objIE     .Navigate mURL     .Visible = True     Do While .Busy       DoEvents     Loop     Do Until .ReadyState = 4       DoEvents     Loop     AppActivate objIE.Name   End With EndProcess:   If Err.Number > 0 Then     MsgBox Err.Number & " : " & Err.Description   End If   Set objIE = Nothing End Sub #1の補足より  こういう操作を、「オートメーション・オブジェクト」といいますが、マクロを勉強する段階としては、相当先です。たぶん、例外的に、できる人にはできるのだと思いますが、複雑な処理になると、分からなくなってしまいます。

WataWata3
質問者

お礼

ありがとうございます。 私にはかなり難しく高度な技に思えます。 もっと勉強してマクロが使いこなせるようになったときに活用させていただきます。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

オートシェイプの、例えば四角形を描画してください。 これなら右クリックメニューに「ハイパーリンク」があります。 フォームとかコントロールツールボックスの「ボタン」の場合、それらのボタンに「ハイパーリンク」はありません。 URLを飛ばすコードを組まなければなりません。「マクロの記録」すれば参考コードが得られます。 フォームのボタンの場合は、「マクロの登録」をします。 (オートシェイプの場合も「マクロの登録」があります。) コントロールツールボックスのボタンの場合は、ボタンのClickイベントにします。

WataWata3
質問者

お礼

ありがとうございます。 とても参考になりました。 試してみたいと思います。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

InternetExplorer.Applicationを操作する http://www.ken3.org/cgi-bin/group/vba_ie.asp ひとつの参考として見て頂ければ幸いです。 ハイパーリンクで済む事をあえて行なうのは、例えば固定化しないURLを 開きたい(セルに打ち込んだURLを基に開くとか)などの理由があれば、 一緒に提示された方がいいかもしれません。

WataWata3
質問者

お礼

ありがとうございます。 教えて頂いたURLチェックしてみたいと思います。

WataWata3
質問者

補足

あえてマクロでやりたい理由としましては、 1)マクロを勉強したいから。 2)エクセルのシート1を印刷画面、シート2を入力画面として、その中に『検索ボタン』を作り顧客先を簡単に検索できるようにしたいと思ったからです。

関連するQ&A