• ベストアンサー

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

エクセルを使用して、エクセル内に作成した"ボタン"をクリックすると指定の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

  • EXCELのボタンとハイパーリンクについて

    こんにちは。よろしくお願いします。 EXCELの97でも2000でも2002でも構わないのですが、 EXCELのフォームツールバーある「ボタン」をつかって ボタンをクリックすると特定のフォルダにジャンプする という操作をしたいのですが・・・・ 今は、とりあえず任意のセルに、ハイパーリンクを作成し、 C:\My Documents\表計算 というような、ハイパーリンクを作っていて、実行すると Explorerが起動して、表計算フォルダに中に入っている ファイルを選択するという形です。 そして、キー登録のマクロで、ハイパーリンクのところを クリックする。というのを作成し、ボタンをハイパーリンクの上に 作成し(ハイパーリンクの文字をボタンで隠しているような状態です) ボタンにマクロを登録しているような状態です。(分かっていただけますか?) そこで、質問は 「ボタンに直接ハイパーリンクの記憶をさせたい。」 (任意のセルにハイパーリンクを作らなくてもいいようにしたい) ということです。きっとマクロを記述できれば良いのでしょうが、 全くマクロに対しては、知識がありません。 意味がわからなければ、いくらでも、補足しますので、よろしくお願いします。

  • エクセルの表にボタンを付けたい

    エクセルの初心者です。 エクセルのセルに「実行1」みたいなボタンを付けて、そこをクリックすれば、「マクロ1」を実行し、「実行2」みたいなボタンをクリックすれば「マクロ2」を実行するようにしたいのですが。 ○ マクロは、エクセルで「マクロ記録」から作成したもので、プログラムは出来ません・

  • エクセルのオートシェイプのテキストボックスにハイパーリンクの設定をする方法

    テキストボックスに入力した文字をクリックするとその文字を含むセルにリンクするというマクロはできるのでしょうか?通常のハイパーリンクだと指定したセルに飛びますが、それだとちょっと困る事があるので「指定した文字を含む」という条件でマクロかなにかでできたら便利なんですが、なにかいい方法があれば教えてください。

  • エクセルで特定のセルに入力後エンターを押すとマクロが起動

    エクセルで特定のセルに入力後エンターを押すとマクロが起動 エクセルで、ファームで作成したボタンを押すとマクロが起動するように して有ります。 記憶させたマクロの起動にはファームで作成したボタンを右クリックし 「マクロの登録」でモジュールを登録する方法しか知りません。 これを特定のセルにデータを入力後エンターを押して入力値が確定されたら このマクロが起動するようにするにはどうすればいいのでしょうか?

  • エクセルのマクロで検索

    教えてください。 エクセルにいろいろなセルに文字列が並んでいます。 フォームを作成し、テキストに文字列1、文字列2を指定します。 そこからある文字列1を検索し、もし見つかればその見つかった文字列1の右のセルに指定した文字列2を挿入したいのです。右のセルに文字列3がすでにある場合はその文字列3の下のセルに文字列2を挿入します。 もしみつからなければ、Aの一番下のセルに文字列2を挿入します。 といったプログラムをコーディングしたいのですが、マクロに関しては初心者です。VBは少しなら分かります。 できれば分かりやすく教えて頂けないでしょうか。 よろしくお願いします。

  • エクセルでのマクロ作成

    エクセルで作成したボタンをクリックすると以下の事を行うマクロを作りたいと思っています。 (1)最初に貼り付けたいセルの範囲をドラッグで選択する。(手動) (2)マクロを登録したボタンを押す。 (3)マクロ内で指定したセル(たとえば $A$1)をコピーして、(2)でボタンを押してマクロを実行する前に(1)で選択したセルの範囲に貼り付ける。 VBAが分からないので難儀しています。 宜しくお願いします。

  • エクセルマクロによるハイパーリンク

    エクセルマクロにてブラウザを起動させ指定サイトを開く方法を教えて下さい。 なお、セルに直接URLを入力し同セルをダブルクリックすれば可能な事は承知しています。 以上、よろしくお願いします。

  • エクセルのマクロボタンが消せない

    職場でエクセル2000を使用しています。 マクロが登録されているボタンを削除できません。 色が付いているので図形だと思います。 保護はかかっていないので普通、右クリックして切り取れると思うのですが。 なお、このファイルは元々、誰かがエクセル2007で作成したファイルの中のシートをコピーしたものです。 どのようなことが考えられるでしょうか? よろしくお願いします。

  • Excel2007 文字をマルで囲むマクロについて

    Excelで 1.あるセルを選択あるいは複数のセルを選択。 2.ボタンをクリックすると、実線のマルで文字を囲む。   (線の太さはマクロ内で0.75を指定) 3.もう一回ボタンをクリックすると点線のマルで文字を囲む。 4.もう一回クリックすると文字はマルで囲まれない。 5.以降、ボタンをクリックすると2.~4.がくり返される。 1.はマウスでセルをクリックする操作をしますが、2.~5. はマクロを設定したボタンをクリックする操作です。 選択するセルは、離れたセルを複数選択していてもうまく文字を 囲むマクロです。 このボタンに設定するマクロを教えていただけないでしょうか。 (使い方としては、表の上部のセルにボタンをレイアウトし、  ボタンにマクロを設定し、表の中のセルをクリックしたあと  マクロを設定したボタンをクリックすると、選択したセルが  マルで囲まれる。そんな操作です。) 選択するセルに入力されている文字は、 「全角1文字」「全角2文字」「半角1文字」「半角2文字」の ケースがあります。 できれば、マクロの中でこの4つのケースでもうまくマルあるいは 楕円で文字を囲む処理を一つのマクロでできると助かります。 Excel97でもこのマクロを使います。 難しい質問で申し訳ありません。宜しくお願い致します。

  • マクロについて

    たとえば、事前にAボタンを設定してあると仮定します。 A1セルを指定してAボタンを押すとそのセルに入力した文字を消します。といったのはマクロで作成したことがあるのですが、これをどのセルを選択してボタンを押すと文字が消せるといったようにしたいのですがどうすればいいですか? マクロだとそのセル単体か、若しくは一定の範囲内を指定したセルといったようにしか設定したことがなく、なんやかんやで構ってみても分かりませんでした。 そのボタンにVBを組まないといけないのでしょうか? それか他の方法があれば教えてください。よろしく御願いします。

専門家に質問してみよう