dポイントプレゼントキャンペーン実施中!

全く何も知らない素人さんにできるだけ効率良くEXCELのVBAを教える場合
皆さんならどこを重点的に教えますか?
どの項目にどれだけ比重を置くとか
これは最低でも知っていた方がいいなどあったら教えて下さい。

あと可能であれば初心者さんが間違えそうな所(もしくは昔自分が間違えた所)があれば
教えて欲しいです。例えば
sheet1.range(cells(1,1),cell(1,1))って書いちゃうとか。
特に急いでいる訳でもないのでお暇な時にもし宜しければ回答御願いします。

A 回答 (4件)

 「まったく何も知らない人」が相手ならとりあえずマクロの記録の方法&ごくごく初歩の修正方法を教えますね。


 後は言語の説明なんて後回しで、こんときはこうする、って感じのいくつかの修正方法の参考例をいくつか教えるぐらいでしょうか。
 EXCELの勉強ではなくプログラムの勉強としてVBAを学ぶ場合はこの限りではありませんが。。。

 初心者が間違えそうなところ……は変数の概念とかですかねw
 間違えるも何も、オブジェクトブラウザとか見ても何も分からない人は間違える以前の問題なのがほとんどですからね。
(無論、プログラマーを目指す場合はそれでは困りますが、そうではない人は無理してプログラム言語やマクロを詳細に覚える必要はないかと思います)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
マクロの記録って便利ですよね。
とりあえずあれができれば全くプログラミングわからなくても
多少の事ならできちゃいますし。

お礼日時:2008/11/27 20:33

EXCELの経験がありVBAの初心者ということで考えると、大きな失敗に繋がるのが、行列の挿入で自動的に計算式をずらしてくれることが当たり前と考えている人が多いので、このあたりの感覚でしょう。


あと、言語の部分でいうなら、変数の概念、カウントや集計(A=A+1など)の代入式、多重のifの分岐感覚、ループの概念、多重ループ(ループのネストについていけないと初級止まりでそれ以上は望めないので一番の難関と言えるでしょうね)といったところが初心者にとっての壁でしょうか。

ただ、実際にこういった用件の打ち合わせをすることがありますけども、大切なのは期間と着地点ですので、それがわからないとどうにも答えが難しいです。もし期間が短いのであれば、レコードマクロのみに限定するくらいに絞って、そのかわり皆が実際に使えるように徹底して指導すると言う考えもアリだと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
期間は結構短いです。なおかつ基本的な部分はほぼ全部教えないといけなくて。
自己学習するのに繋げるみたいなタイプになるんでしょうか?

そう言えば最初の頃行の削除で手間取ったの思い出しました。

お礼日時:2008/11/27 21:01

プログラムを素人さんに教えるとしたら、実用性のあるものを作るってのがいいんじゃないかなと思いますね。


Excelに限らずの話ですが。
こんなものが作れますよ、プログラムって楽しいでしょって感じですね。
実用性って言っても、習作レベルでしかないでしょうけど。

Excelで作るとすると、住所録か家計簿、お小遣い帳が適していますかね。
その授業(?)の時間にもよりますが、フォームコントロールを貼り付け終わったファイルを渡して、ここにこう書いてくださいねって形で授業(?)を進めて、完成形はこれですって完成のExcelファイルは別にプレゼントって感じで。

その上で、この完成形に対してこのように機能を拡張することが考えられます、興味があれば勉強して付け加えてみてください、って課題が付いていると面白いかなと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
学校行ってた時はそんな感じでやってました。
懐かしいなぁ…。

お礼日時:2008/11/27 20:55

自分は、こういったように覚えましたってことで、参考になればですが、


ある程度、Excel自体を使える前提で・・・(VBAはわからなくても)
1.オブジェクト(Sheet,Renge等)の概念と理解(オブジェクト指向って何?ってことも含む)
2.それぞれのオブジェクトが持っているプロパティ,メソッドには何があるの?

上記2点を理解した上で、簡単なプログラムを作成

って感じで覚えました。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
文法とか抜きで覚えていったのでしょうか?
意外といけちゃうもんなんですね。

お礼日時:2008/11/27 20:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!