• ベストアンサー

Excelのマクロを覚えたいのですが、

Excelのマクロを覚えたいのですが、 いちばん効率良く学習方法を教えて下さい。 超初心者です。 よろしくお願いします。

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

  • ベストアンサー
  • layy
  • ベストアンサー率23% (292/1222)
回答No.5

言葉では伝わらない、実習経験と発想、の繰り返しです。 新しいマクロの記録の仕方は覚えたら良い話ですから省略します。 きっちり独学で始めたいなら、回答例、サンプル等はそのまま使わない。使うとしたら同じ内容で打ち込んでやる。貼付けで終わると考えることをしなくなるからです。回答複数ある中でも動作したもの使うじゃなく、自分で理解出来たものを使う。コードだけ見ても上達遅い。 機能設計→プログラム設計→プログラムで進めますからやりたい事からいきなりコードが書けるわけでなく、初期値は何、何回繰り返しがあってー、これ判断してー等組み立てがあります。そういうプログラミングとは、も頭に入れて作る。目的を達した後で、少し条件変わるとしてもどこをどう直したらいいか、判断早くなります。すぐ質問というのは悪循環で上達遅いです。回答も悪い。デバッグする技術も必要です。直すとき解釈難しいのは使わない方が良い。 前の質問の例では、1が入力されていれば印刷、を1が入力されていれば1部数印刷、2が入力されていれば2部数印刷と応用を考えるのも良い。

hashihasi
質問者

お礼

回答ありがとうございます! 仕事上何分時間的に余裕がなく、、 本やサイトを見ても今いちの所があり、 どこから、・・・・と言う軽い気持ちで、質問しませたが、 勉強方法・どのようにマクロを作成していけば、理解できるか 上達するか・・ 当方にくれていましたが、 何とかできそうな気になってきました。 ひとつ、ひとつ頑張ってみます!

その他の回答 (5)

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

#4さんの、そういう仕事って、結構、月謝は高いのではないかなって思います。月、3~5万円では済まないかもしれません。そういう人がいれば良いのですが……。でも、人に教えるということは、本当に大変ですし、適任者はいません。 独習なら、C++やVB でおなじみの、河西朝雄先生のような学習方法の考え方が良いです。先生は、VBAの本は出していませんが、学習方法は同じです。「量質転化」と言って、数をこなすことが前提です。500題の問題を超えると、何か変わってくると言います。1日3題でも、166日掛かります。約6ヶ月です。カテゴリずつ、自分の中でまとめていきます。VBEditor のデバッグが、デバッグ自身の中で覚えるものです。テキストは、系統だったものにしてください。羅列やつまみ食いはダメです。 それと、今までの質問を見せていただきましたが、私は、回答する気にはなれませんでしたね。それは、初心者だから、という理由で、それはいいのだというものと、メソッド(方法論)そのものを、個性だとして、認めてはいけないものとの違いがあります。私は、後者だと判断して、その内容をVBAの標準的なものに書き換えたところで、ここでは、評価は受けないだろうと思ったからです。別の方も書いていたように、あまりに基礎レベルの質問からですと、かなりずれた知識になる可能性が高いです。 次に、教える人たちのために、少し、余談を書かせていただきます。 以下は、日経BPの芳坂さんが10年近く前に作った、しょうもない難問・珍問です。以下は、100点を取る必要はありません。このテストで、何かが抜けているなっていう所まで、気がつけば、一応、実務的なマクロを作れる人、そうでないのは、まともなマクロは書けない人、ということになります。 Excel VBAテスト2 (ベータ版) http://hp.vector.co.jp/authors/VA016119/excel/test2.html (VBEditor の中ではテストを入れるのは不可とします。) Excel VBAの書き方の作法のような問題集ですから、掲示板でいい加減な書き方をしている人は、さっぱり分かりません。ここはこういう意味だから、間違いだとか、それは分かっているけれども、それでも正しいのだ、という判断が出来ないといけないということです。 この意味が分からない人は、マクロとかVBAが何かって言えないと思います。この解答の解説はありませんし、初心者は歯が立ちません。テクニックの上級者でもなく、まともに書いている実務者のみが分かる内容だと思います。いい加減に書いていると、2年経っても、3年経っても分かりません。 それと、「マクロ」の定義自体を正しく言えない人は、何も言わないほうがよいでしょうね。 http://okwave.jp/qa/q311047.html VBAとマクロの違い (Accesss とExcel のマクロの基本概念は同じ。マクロとはプログラミングとは関係のない意味です。AccessとExcelで、マクロの意味が違うと思うのは、その定義が間違っているからです。当然、「マクロ:VBAで記述された一塊の関数」は間違いです。マクロ関数というものがあったから、それと混同してしまったようです。 http://allabout.co.jp/gm/gc/3908/ Excel(エクセル)のマクロとは?--[エクセル(Excel)の使い方] (まったく説明が間違っています。) 「Excelの「マクロ」は、この「録音機能」のようなものといえます」であるわけないです。 素人でもあるまいし。記録マクロは、ExcelやWordの特殊な機能であって、それは、プログラミングとは別ものです。 定義は、Microsoft は、テキスト(VBA Programmer's Guide)で、その説明を発表しています。  署名:Microsoft Office 97/Visual Basic Programmer's Guide  出版社:Microsoft Press  発行年:1997  ISBN: 1-57231-340-4  ページ: 560 こういう所は、初心者にとってはスタートラインにはないけれども、人に教えるなら、そのぐらいは、Microsoft 側の基本的な方針とか姿勢は押さえておいてほしいものです。それと、時々、VBAは、インタープリタ言語だと、素人くさい言い方をする人がいますが、ここらも、きちんと、その言語の特徴ぐらいを知ってほしいですね。本当は、VB.net やVB6は、ある程度の知識がなくては人には教えられないこともあります。

hashihasi
質問者

お礼

的確な指摘ありがとうございます! 仕事上何分時間的に余裕がなく、安易に前回質問に頼ってしまった所であります。 その結果、回答して頂いた方よりの指摘で、やはり、ひとつ、ひとつ勉強せねばと思い 本やサイトを見ても今いちの所があり、どこから、・・・・と言う軽い気持ちで、質問しませたが、 自分の甘さを痛感しました。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.4

経験者に家庭教師に来てもらうこと。

hashihasi
質問者

お礼

早々のご回答ありがとうございます! それが、知り合いや近くに経験者らし方が いないのです。

  • MIHO0821
  • ベストアンサー率34% (70/203)
回答No.3

マクロというのは、言ってみれば簡易なプログラムです。 プログラムというのは、命令や処理などで構成される言語で成り立っています。 その言語、 例えば、 「キーボードの“1”が押されたら、1を画面に表示する」 というようなことを言語化したものを理解しなければいけません。 つまり、Excelでいうと、 「このセルからこのセルまでを太線枠で囲む」 というようなことをプログラムで書くわけです。 もちろん、白紙の状態からプログラムを書いていくこともできますが、 Excelの場合、『新しいマクロの記録』という機能があります (「ツール」→「マクロ」→「新しいマクロの記録」) 手始めに、この機能を使って、 何かの操作を記録してみてください。 最初に任意のマクロ名を決める必要があります。 (操作終了時は「ツール」→「マクロ」→「記録終了」)を押します。 ※操作ひとつひとつをメモしておくとよいでしょう。 記録が終了したら、 その操作がどんなマクロ(プログラム)で記述されているか確認してみましょう。 「ツール」→「マクロ」→「マクロ」を押すと、 記録されているマクロの一覧が表示されるので、 選んで(色反転)から、『編集』を押します。 そうするとエディター画面が開き、先ほど記録した操作がマクロ(プログラム)化された ソースコード(言語)が表示されます。 あとは、あなたの記録した操作ひとつひとつと この内容とを照らし合わせ、 「ああ、あの操作をすると、こういうふうにプログラム化されるのか」 「あの操作は、こういう命令をしたことになるのか」 と、 一行ずつの意味を調べるとわかりやすいです。 もちろん、命令や処理の内容の文法などは参考書やネットで調べて。 あとは、応用ですね。 “マクロの記録”から理解した動きを、 いちいち“マクロの記録”をしなくても ある操作をする際の命令を自分で書いていけるようになれば、OKです。 いずれにしてもプログラムは、 「書いてみて」→「動かしてみて」→「結果をみて」 修正したり、発展させたり、の繰り返しです。 もちろん、ただの処理だけでなく、 条件分岐や処理の繰り返しなど、 ただの“マクロの記録”だけではできないこともありますので、 基本の次は応用を勉強していく必要がありますが。 ちなみにExcelマクロが書けるようになると、 VBAをかなり理解できていることにもなります。 最初はちんぷんかんぷんですが、 頑張って挑戦してみてください。

hashihasi
質問者

お礼

早々のご回答ありがとうございます! 記録のソースを参考に勉強をしてみます!

  • Tip3000
  • ベストアンサー率9% (5/55)
回答No.2

目的を持つこと

  • ziziwa1130
  • ベストアンサー率21% (329/1546)
回答No.1

マクロの記録でマクロを作成し、コードを見れば覚えやすいですよ。 あとはVisual BASICリファレンスを駆使です。

hashihasi
質問者

お礼

早々のご回答ありがとうございます! ひとつ、ひとつ頑張ってみます!

関連するQ&A