• ベストアンサー

エクセル VBA 初心者です

初めて、VBAマクロに挑戦する初心者です。(エクセル2003) 下記サイトの説明のように 1つ1つのセルをテキストボックス化できるようにしたいと考えております。 http://tks.or.tv/note/2008/10/excelvba-3.php そこで、自分のエクセルから、マクロ→basic editor→挿入→標準モジュールを表示するところまで到達しました。 ここでわからない所が、上記サイトには、コードが3分割になっております。 どのように貼り付けを行い、目的の操作までできるのかわかりません。 どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

一番上の定数のボックスの部分を最初にコピーします。その後 http://tks.or.tv/note/2008/10/excelvba.php ここにある2個を分割は無視して2個とも全部選択してその下にコピーします。 最後に最初の残りの2個を分割を無視して全部選択してその下にコピーします。 テキストボックスにしたいセルを選択して、マクロからCell2Textboxを実行します。

kenthehg
質問者

お礼

本当にありがとうございます! 簡単に作れて、大変感動しました! これで、作業がだいぶん楽になります。 ありがとうございました。

その他の回答 (1)

  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.1

そのまま、3つのブロックを続けて入力またはコピー&ペーストすれば、大丈夫です。 Sub ~ End Sub までは、1つのブロックで、全く独立しています。 まず、最初のSub Cell2Textbox() ~ End Subの部分が実行されます。 この中にCall MakeTextBox(…)という箇所がありますが、 ここで、一番下のブロックPrivate Sub MakeTextBox(…)~End Subを呼び出しています。 このように、「Sub~End Sub」の部分は、独立していて、1つの塊で、 他から呼び出して利用するものです。 1つのまとまった仕事をここでさせるのですが、 このように記述することで、 仕事単位でプログラムを見ることが出来、 わかりやすいプログラムになります。 また、独立しているので、 このまま他のプログラムに利用できます。 使われる変数も、「Sub~End Sub」内で独立しています。 従って、最初の「Sub~End Sub」内で使われている変数は 他の場所で同じ変数名を使っても値は変わりません。 特に、同じ事を何度もする場合には、 このように、「Sub~End Sub」を使って その部分を、そのつど、呼び出すことによって プログラムを小さく出来るだけでなく、 プログラムの修正でも、 1箇所を直せば済むので、効率的です。 以上、参考になったでしょうか?

kenthehg
質問者

お礼

非常にわかりやすいご説明を頂き、ありがとうございました。 無事実行することが出来ました! 大変勉強になります。 プログラムは書くことはまだできませんが、今後挑戦していきます。 ありがとうございました

関連するQ&A

専門家に質問してみよう