• ベストアンサー

Excel VBAのわかりやすい教科書を探しています

仕事のルーチンワークをマクロにしたいのですが、何から初めてよいのかわかりません。 したい作業は、 1.顧客毎の点数を計算して得点が高いもの順にソートする 2.年齢層・性別別に上位10件を別表を作って表示する 3.その表を印刷する という具合です。 即効性があればよいのですが、最初から読み込んでいけばマクロの 基本から学べる良質の教科書があれば教えてください。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

もちろんVBAの教科書的な本を前もって読む必要があります。 しかし最良の先生はツールーマクロー「新しいマクロの記録」です。 (1)(3)は今すぐでもマクロの記録をとれば、どういうコードになるか分かります。 そして他の仕事の場合で、ソートや印刷に限ってとして、それらのニーズの場合は、どういう(言葉で言えば)箇所が代わり、コードのどの部分が変わるか試行してください。 ーーー (2)は私は「プログラム・ロジック」といってますが、VBAの教科書には網羅的には、載ってない可能性が強い。経験を積むしかない。 ーー 1つのやり方(仮にソート法と名づける)は 年齢層+性別別でソートする。 各行について、繰り返し下記処理を最下行まで行う。 終わりはデータ終わり最終行を取得する(色んな方法アリ)。 両者(年齢層+性別コード)を結合したキーが、直前行と同じなら、10個までカウントしながら、別シートに書き出す。 10を越えたら、結合キーが変わるまで、あとは読み飛ばし。 別シートへ書き出しは書き出し行数を示す変数を用意し、1行書いたら+1して置く。 -- VBAは個別ニーズへの対処の積み重ねです。相当経験を積んだら、自ずと、(VBAやプログラムについて)自分の中に湧き上がるものを感じるでしょう。 そうすれば読むべき本も考えられるようになります。

r2san
質問者

お礼

まず、やってみることが大切と言うことですね。 ロジックは誰かのマネをするのではなく、自分で作ると言うことが大切とわかりました。 早速、マクロの記録で試してみます。 大切なことは操作すれば自ずと見えるし一つ一つの積み重ねで大きな仕事をマクロでかけることを学びました。 ありがとうございました。

その他の回答 (1)

  • mohenjo
  • ベストアンサー率37% (125/335)
回答No.1
r2san
質問者

お礼

ご回答ありがとうございました。 早速、拝見させていただいております。 詳しい解説がされており読み進めていくだけで大変よくわかります。

関連するQ&A