- ベストアンサー
エクセル VBA 初心者です
初めて、VBAマクロに挑戦する初心者です。(エクセル2003) 下記サイトの説明のように 1つ1つのセルをテキストボックス化できるようにしたいと考えております。 http://tks.or.tv/note/2008/10/excelvba-3.php そこで、自分のエクセルから、マクロ→basic editor→挿入→標準モジュールを表示するところまで到達しました。 ここでわからない所が、上記サイトには、コードが3分割になっております。 どのように貼り付けを行い、目的の操作までできるのかわかりません。 どうぞよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一番上の定数のボックスの部分を最初にコピーします。その後 http://tks.or.tv/note/2008/10/excelvba.php ここにある2個を分割は無視して2個とも全部選択してその下にコピーします。 最後に最初の残りの2個を分割を無視して全部選択してその下にコピーします。 テキストボックスにしたいセルを選択して、マクロからCell2Textboxを実行します。
その他の回答 (1)
- Prome_Lin
- ベストアンサー率42% (201/470)
そのまま、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箇所を直せば済むので、効率的です。 以上、参考になったでしょうか?
お礼
非常にわかりやすいご説明を頂き、ありがとうございました。 無事実行することが出来ました! 大変勉強になります。 プログラムは書くことはまだできませんが、今後挑戦していきます。 ありがとうございました
お礼
本当にありがとうございます! 簡単に作れて、大変感動しました! これで、作業がだいぶん楽になります。 ありがとうございました。