• ベストアンサー

Excel2003でVBAを勉強しています。

Excel2003でVBAを勉強しています。 そこで、お聞きしたい事があります。 ボタン(でいいでしょうか?)を作成するには、3つの方法があるかと認識しています。 ?コントロールツールボックスのコマンドボタン機能を使用する方法 ?フォームのボタン機能を使用する方法 ?オートシェイプにマクロ機能を登録する方法 それぞれ、の違いというか特徴が良く判りません。 特に、?と?の違いは何なのでしょうか? ?のフォームを検索してもユーザーフォームしかヒットせず、違いが分かりません。 よろしければ、ご回答お願いします。

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

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

こんにちは。 >それぞれ、の違いというか特徴が良く判りません。 Excel 2007 では、並列で出てきていますので、ActiveX コントロールが良いのか、フォームコントロールが良いのか、私には、どう答えてよいか分からなくなりました。 言葉で覚えるよりも、ともかく使ってみることですね。 優先順位を作れば、それで覚えていくものだと思います。 ワークシート上の学習の段階では、フォームコントロールを最初に使っていくのが良いと思います。 フォームコントロールには設定の際、英語は、ほとんど出てきません。簡単で軽いし、セキュリティ上のチェックも少なくて済みます。ワークシート上で、ほぼ、設定か可能です。 フォームコントロールは、隠しオブジェクトになりましたので、基本的には、ヘルプを調べてみても使い方は出てきません。私は、Ver.5のマニュアルを数冊持っています。フォームコントロールは、Ver.5(95)の遺産で、ダイアログシートに取り付けるコントロールのことです。今は、実行命令のメソッドも、設定のプロパティも、そのずべてを知っている人は少ないと思います。また逆に知らなくても使えます。Microsoft では忘れ去られた遺物だと思います。 VBAの勉強中というなら、フォームコントロール側は、無視して構いません。 コントロールツール(ActiveX コントロール)の使い方は、UserForm のコントロールツールの「イベント」という機能を覚えさえすれば、概ね同じように扱いが可能です。右クリック・左クリック・そのコントロールをクリックしたり、ダブルクリックしたりして、それによる反応がそれぞれ得られます。とても便利ですが、VBAを知らないと、そこまではできません。 >オートシェイプにマクロ機能を登録する方法 良くわかっているなら別に問題はありませんが、あまりお勧めしません。それは、シートコピーをした時に不具合があるからです。

kdinomh
質問者

お礼

回答有難うございました。 何となくですが、簡易版がフォームコントロールなのかなと感じました。 VBAを勉強して行く上では、ActiveX コントロールの方が良いようなので、 頑張って挑戦しようと思います。

その他の回答 (1)

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

フォームではなく、フォームコントロールでヒットするようですよ。 下記ページでどうでしょうか。 VBA入門者の”どっち?”・・・フォームツールバー or コントロールツールボックス(1) http://www.moug.net/tech/exvba/0150071.htm VBA入門者の”どっち?”・・・フォームツールバー or コントロールツールボックス(2) http://www.moug.net/tech/exvba/0150072.htm コントロールについて : ActiveX コントロールと [フォーム] ツールバーのコントロールの使用 http://office.microsoft.com/ja-jp/excel/HP051983111041.aspx

kdinomh
質問者

お礼

ご回答有難うございました。 フォームコントロールと分かっただけで、だいぶ助かりました。 有難うございます。

関連するQ&A