• ベストアンサー

エクセルのVBA習得について

プログラミングの経験はありませんが、自分なりにマクロ(VBA)にとり組んでみたいと思っています。ただいろんな書籍がありすぎて、系統的に学ぶには、どこから取り組んでいいのかよく分かりません。習得されている方で何かいい書籍・サイト等ご存知でしたら、お教え頂けると有難いのですが、ご存知ないでしょうか。会社の事務部門でよく使うようなものから始められると助かります。

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

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

こんにちは。 何度も書いている話ですが、実際に、仕事から入っていく人は、偏りが生じて、全体的に習得するのは難しいかもしれません。Excelマクロ集のような本を買ってきて、写して手を加えれば楽で失敗が少ないです。 それでも、体系的に学習したいという人は、多くは、以下の本を入門としている人が多いかと思います。 『かんたんプログラミング Excel 2007 VBA 基礎編』大村 あつし (著) 技術評論社 (2003用もまだ出ています) http://www.amazon.co.jp/exec/obidos/ASIN/477413340X 三冊で、ひとまとまりになって、最後の応用編の半分ぐらいまで勉強すると、プログラミングの入門レベルが習得できると思います。いずれにしても、VBAでは、あまりがっちりと勉強する必要はないと思います。自分で考えながら、500個のコードを書くと覚えられるといいます。だから、早い人は、半年で覚える人もいます。。 Webサイトは、本当に習得したいなら、まだ良く分からないうちは、Microsoft のサポート以外は、あまり参考にしないほうが良いと思います。特に、掲示板などでは、玉石混交ですから、入門レベルの人や、VBAをほとんど知らない他のプログラマーが、専門家と称して書いていることがあり、本当に何が正しいのか、わけが分からなくなります。掲示板は、ある程度の力が付いてからの方がよいと思います。 『Excelでお仕事』や『Office Tanaka』は、人気のあるサイトのようです。しかし、#1の方には大変申し訳ないのですが、『Excelでお仕事』の著者の「お仕事」や年代が、なんとなく見えてくるのですが、残念ながら、私は、そのような「お仕事をさせてくれる企業」にはおりませんでした。内容的にみると、また特殊な「お仕事」のひとつのようです。 それにつけても、VBAは、本格的に進めて行くと、ある時点で、いくつかの分岐を迫られるようです。本当に『Excelでお仕事』のように、会社のサーバーやデータベースで仕事を与えられて、あくまでも、VB系(ASPやWScript含む)で続けていくのか、Access側に移るのか、他のデータベースに入っていくのか、本格的にプログラミングの世界に入っていくのか、いずれかの入り口になるのではないでしょうか。なかなか、そこまで行く人も多くはありませんが。

gayaldy
質問者

お礼

お礼が遅れてすみません。ご丁寧に有難う御座います。ひとそれぞれですが、自分に合うやり方を模索してみようと思います。

その他の回答 (4)

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

#3の回答者です。 ちょっと面白いコメントなので書かせてください。 >自己責任とは? 厳密な意味で、「自己責任」とは、意味が違うのですが、VBAは、あくまでも、自分が自分の責任で書くものであって、他人がとやかく言ってどうなるものではありません。だから、逆の見方をするなら、「自己満足」の世界でも良いと思います。VBAでは、ハンガリアン表記などは使う必要もありません。 「自己満足」しなければ、独学ではやっていられないのではないかと思います。こんなことができるという喜びが、次に繋がるのだと思います。Access の場合は、ひとつを完成させるまでには、時間が掛かりますが、Excel VBAは、一行(Sub ~ End Sub まで入れると3行)でも結果が出ますから、コードの意味を見失うことがありません。あまり長いコードは不要です。 私が嫌いな質問の中に、「コードをスマートにしたい」というものがあります。でも、自分が書いて問題なく動くのなら、なぜ、それで満足しないのかなって思います。コードそのものが実力を表すものであっても、個々のコードをベテランの人に書き換えてもらっても理解できなければ、身につくとは思えないのです。 ちゃんと動いているものに、それに、Select を頻発したところで結構です。とやかく言う人間に限って、たいしたコードも書けていなかったりします。(ただし、掲示板に回答を手本として書く場合は、多少とも批判を受けることは覚悟しなければならないので、「自己満足」だけでは済まないです。) だいたい、 Selectするな! http://officetanaka.net/excel/vba/speed/s2.htm # Selectしない方がいいのは速度的な理由だけではありません。 # コードの行数が少なくなることで、マクロ全体の可読性が高 # まるからです。可読性が高まればバグも減るでしょう。それ # に何より、Selectの連呼は美しくありません(^^; なんて、本当のところは、こういうことではないのですね。Select は、オブジェクトを確保するということなのです。必要な場合と、そうでない場合があるのです。

gayaldy
質問者

お礼

返答遅れて済みません。有難う御座います。とりあえず、自分もそういう感じで進めてみたいと思います。

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.4

[回答番号:No.2] の DOUGLAS_ です。  ご質問をよく読んでいなかったようで、「系統的に学ぶには」とお書きでしたね。  ま、私の回答は、自由奔放過ぎて、とても「系統的」ではないようですから、ご参考程度にお見過しください。 >何か一気に敷居が高くなった感じです。  ハハ (^0^)/。。。 ん~、逆の意味で書いたつもりですが。。。 >系統立てては難しいのですかね。  gayaldy さんが、どういう質(たち)の方か存じませんが、私のような飽き性の人間でしたら、テキストの「Lesson 1」から順を追って「本」を読み進めていっても、なかなか、頭に入らないんですよねぇ~。  で、前回答のような調子で、WEBページから、実践的(会社の事務部門でよく使うようなもの)、かつ興味深い(面白そうな)、かつ、何となく自分でもできそうなレベルの、教材(ユーザーからの質問)を見つけては、あ~だこ~だと頭を捻らせて、そこで初めてテキストの関連ページをめくったり、テキストに載っていなければWEBページで検索してみて、自分なりに答えを出してみる、というふうな具合です。  で、最終的に、そのWEB掲示板に出てきた優秀な経験者の回答と、自分の導き出した回答とを見比べて、都度、スキルアップしていく、というような段取りです。 #この点につきましては、[回答番号:No.3] の Wendy02 さんがご指摘くださっている点を踏まえてくださいませ。 >自己責任とは?  エクセルのマクロ(VBA)は、エクセル自体のワークシートの操作に留まらず、アプリケーションとしてのエクセルの設定やコンピュータのファイル操作など、いろいろなことができて、とても便利な半面、自分で試行錯誤している内に、大事なファイルを削除してしまったみたいなこともなきにしもあらず、というような意味で「自己責任」と書きました。  意味のよく分からないコードやステートメントについては、予めヘルプやテキストでご確認いただいた上で実行なりデバッグされるのでしたら、何ら問題はないと存じます。

gayaldy
質問者

お礼

ご丁寧に有難う御座います。とりあえず自分なりに取り組んでみます。

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.2

>習得されている方で  私自身は、習得している段階ではありませんが。。。 >何かいい書籍・サイト等ご存知でしたら、お教え頂けると有難い  私も、VBA初心者ですが、VBAでのスキル向上の軌跡を振り返ると、 1)パソコンに関する質問掲示板(ここや「答えてねっと」など)で面白そうな教材を探す。 2)書籍やWEB検索でVBAの方法論を構築する。 3)経験者の回答を検証する。 4)「なるほどぉ~」と思って、お脳に蓄積する。 みたいな感じでした。  「習うより慣れろ」と申しますが、とりあえず、簡単な教材(問題・題材)でいろいろと試行錯誤してみるのが、習得が早いかもなぁ? と存じます。 #が、VBAは、「飽くまで 自己責任」ということは肝に銘じてください。 >会社の事務部門でよく使うようなものから始められると助かります。  そういう題材が、よくパソコン関連の質問掲示板に出ています。

gayaldy
質問者

お礼

何か一気に敷居が高くなった感じです。自己責任とは?系統立てては難しいのですかね。ご丁寧に有難う御座います。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

私は http://www.asahi-net.or.jp/~ef2o-inue/menu/menu01.html ここで勉強しました。 ちょっと時間がかかるかも知れませんが、 一般機能や関数など最初から目を通してみると良いと思います。

gayaldy
質問者

お礼

早速の回答有難う御座います。URL参考にしてみます。

関連するQ&A

  • VBA習得のための参考書を教えてください

    会社で昔の人が作ったVBAを復活させたいので習得したいと思っています。スクールも考えましたが、以前質問させていただいた時、「自分で プログラミングを追ってみる」とアドバイスを頂きました。 私は基本がないのですが、お勧め参考書があったら教えてください。 会社の方が「あなたが持っているのはVBAの本だけど、基本が書いていないから、フローチャートの描き方とかそういうのを買って、プログラミングの仕方を分かったほうがいいのでは?」と言われたのですが どんなのがいいかわからないのです。

  • VBAを習得する良い方法はないでしょうか。

    VBAを習得する良い方法はないでしょうか。 仕事でよく、Excelを使います。 その際、普段使う機能では対応できず、解決方法をネットで調べることがよくあります。 関数を使った解法を見つけた場合には、「なるほど!」と腑に落ち、それ以降も繰り返し利用することができる場合が多いです。 一方、VBAマクロの解法しかないケースでは、自分は本当に無力です。 せいぜい、マクロをコピペして使うくらいしかできません。 VBAを習得する効果的な方法はないでしょうか? 以前、一念発起して個人指導を受けたこともあるのですが、その場では分かったつもりになっても、自分で反復強化する術が掴めず、挫折してしまいました。 今まで、「取り付く島がない」分野を習得する際には、検定試験などをペースメーカーにしていました。 主に語学やビジネス系ですが、Excelについても、MOSを取ってからはストレスなく使えるようになりました。 VBAは語学に似ていると思うのですが、語学(メジャー言語)の場合、基本的な文法・表現を反復練習するツールが市販されており、さらに検定試験の対策をしているうちに要点が自然に身につくような仕組みが既に出来上がっています。 VBAにはそういったものがなく、ひどく敷居が高いように感じています。

  • EXCEL VBAの参考書

    EXCEL・VBAを勉強したいのですが、参考書が多すぎてどれがいいのかわかりません。ただ、仕事で使うので、なんとしても習得しなければなりません。 (1)プログラミングの経験はまったくありません。 (2)VBA以外のEXCEL機能はほぼ大丈夫です。 (3)英語は苦手です(><) 現状はこんな感じです。お勧めの参考書があればお願いします。

  • 転職に備えてのExcelマクロ習得

    こんにちは。 40代前半 女性派遣社員です。 現在は、銀行事務をしておりますが、転職に備えてマクロ(ExcelVBA)の勉強を検討しています。 しかしマクロは難しいと聞きますので、Excel初級(簡単な関数が使える程度)の私でも果たして 挫折しないで習得できるものか、習得しても無駄にはならないか受講料も高いので迷っています。 マクロを習得しても、実務経験がないと転職には使えないことは重々承知しております。 実際、私も現在の仕事につく前、スクールでExcel実践演習を学びましたが、それだけでは Excelを多くつかうOA事務の仕事は紹介してはもらえず、今は実務で全然使っていないので忘れてしまっています。 でもテキストを見れば思い出すので、業務効率につかえることを自分で見つけて活用できればいいかなと思ってます。 マクロを習得してもバリバリにそれを使って仕事をしたいわけではなく、ちょっと使えれば便利で有利なんではないかという考えなのですが、甘いでしょうか。 独学は無理なので、講習を検討しておりますが、一日速習講座もよく広告で目にします。 パソコンがもともと得意な人ならともかく、普通の人でも一日でマクロの基礎を理解し使いこなせる ようになるものでしょうか。 恐れ入りますがアドバイスお願い致します。

  • Access2000 VBAの学習方法

    当方Accessの初心者ですが、最近マクロに限界を感じ始めまして、VBAを使ってみたいと思い始めました。 そこで、経験者の皆様にアドバイスをお願いしたいのですが、プログラミングの経験がほとんどない利用者に適している、 ・お勧めの学習方法 ・お勧めの書籍 などを教えていただけないでしょうか? よろしくお願いいたします。

  • Access VBA を習得するまで

     Access VBAを習得された方にお伺いできればと思います。  現在Access基礎を身に着けた程度で、次はVBAを目指して いるのですが、参考書を読みましても今までとは違う一筋縄では いかない感じがあり、時に断念しそうになったり、 プログラム未経験者に独学は無理?という思いが頭をかすめます。  コードを記入するのに1文字でも脱字があるとコマンドエラーに なってどこが原因か探すのにも一苦労です・・・  Accessのときも一筋縄ではいかない感じはありましたが、 VBAはそれ以上です。      今回見習いたいところは見習っていきたいと思い、 お伺いたいことをまとめてみましたので、 ご回答いただけますとさいわいです。 1)スタート時はどの程度のレベルだった? ex 全く初心者、プログラム経験者.etc 2)独学?Or 教室などに通った? 3)学習に当てることができた時間と、学習に要した期間 ex 週2回夜2時間で半年.etc 4)勉強ツール ちなみに、私は『独習Access 翔泳社』 『Accessプログラミング開発工房 ソシム株式会社』 などを読んでいます。  回答は全ての項目ではなくても結構ですので、 よろしくお願いします。

  • エクセル2007VBA 業務に見合った効率的習得法

    ●質問 どのように学習すれば効率よく管理業務に見合ったVBAの技法を 習得できるでしょうか? 1.手持ちの参考書に挙げられている例題や練習問題を   ひたすら解く 2.最初にVBA特有の専門用語を理解しながら例題や練習問題を   ひたすら解く 3.先にエクセルの動作として何がしたいかを明らかにした   上で辞書形式でVBAの動作やコードの記述の仕方を学ぶ 4.その他の方法 以下の「●習得したい理由」を踏まえた上でお答えいただければ 幸いです。 ●習得したい理由 私は給与計算代行サービス会社の管理部門を担当しています。 エクセル2007VBAの学習をはじめてまだ2週間です。 エクセルの基本的な操作や関数操作・作成はできますが、 その他プログラミング言語等は全く分かりません。 給与計算自体は、誰でも一定期間学習してもらえれば、 誰でもできます。 ところが最近その会社の業績が傾いてきました。 原因は色々考えられますが、会社内部の要因として2点考えられます。 1.給与計算サービスの原価計算ができていない。 2.給与計算サービスの仕事全体が「属人化」されて   人間の動作、コンピュータの活用を含めて   仕事全体がシステム化されていない。 今までは社長が一人で営業をしてきて、営業担当の社長が 知り合いの社長と、どんぶり勘定で会社の運営に見合う 給与計算報酬をおおざっぱな金額で受け取ってきました。 ところが最近顧客の値下げの要求が厳しくそのまま受け入れて しまうと会社が立ち行かなくなります。 そこで管理部門で会社全体の仕事や作業を定義した上で、営業担当者や 給与計算にデータベース形式で日報(添付画像参照)をつけてもらう 案が浮上しました。日報を付けてもらう目的は以下の6点です。 1.顧客ごとの給与計算にかかった時間を月別、年別に集計したい 2.作業者ごとの作業時間を月別、年別に集計したい 3.1と2を掛け合わせると、顧客ごとに行ったサービスの内容と   原価を明らかにしたい 4.給与計算サービスは原則として毎年、毎月やることが   ほとんど決まっているので、顧客ごとにサービス内容を   まとめてマニュアル化したい。 5.1,4の資料を用いて新規開拓営業や顧客ごとの値段交渉の   資料としたい。 6.定義した仕事や作業は数値でポイント化し、人事評価の参考   資料にしたい(各従業員のポイントを集計し、一定以上の成果が   出たときの配分根拠としたい) 以上1~6の仕事・作業を実行するのにVBAが使えそうな気がして 学習を始めましたが、当然他にもやることがあって、時間的な制約も あります。目的にかなった参考書や学習方法を知りたいと思いました。 ●現在手持ちの参考書 1.瀬戸 遥『10日で覚えるExcel VBA入門教室』翔泳社 Excel0/2007/2003/2002/200対応 2.土屋和人『ExcelVBAパーフェクトマスター』秀和システム   Excel2010/2007/2003/2002完全対応  3.早坂清志『VBAを極める Excelの極意6』毎日コミュニケーションズ Excel2007/97~2003対応 特にプログラマーになるつもりはありません。 あくまで管理業務を遂行するためにVBAを活用したいと 考えております。 エクセルVBAにお詳しい方、また日常業務を抱えながらVBAを 習得した方がいらっしゃいましたら、皆さんのご意見を賜りたいと 思います。どうぞよろしくお願いします。 ※「最近顧客の値下げの要求が厳しく、そのまま受け入れて しまうと会社が立ち行かなくなり」そうな会社だったら、 「転職しろよ」とか言われそうです。ただ「●習得したい理由」で 述べたVBAの管理ツールができたら他のサービス業でも転用可能に 思います。しばらくは踏みとどまって管理ツールの作成に励みたいと 考えています。

  • VBAとマクロの違い

    VBA初心者です。 会社の人からVBAとマクロの違いについて質問され、ちゃんと説明できませんでした。 なにがちがうんでしょうか? 私は「VBAのプログラミング=マクロを組む」と思ってました。 よろしくお願いします。

  • EXCEL VBA 習得について

    会社での利用を考えています。関数まではある程度利用できますが、プログラムは初心者です。先日、「エクセルのマクロとVBAがみるみるわかる本」で少し学んだ程度なのですが、次にどう勉強していくべきか迷っています。さらに本を買い独学も考えたのですが、ネットで「PC-BLAIN」という会社の通信学習を見つけました。 もしこの講座を受けられた方がいれば、評価を聞かせてください。 また、独学で学習する場合は次にどんな本を買うべきかみなさんの意見を聞かせてください。 よろしくお願いします。 http://www.pc-brain.com/F_Conts.htm#ExcelVBA

  • エクセルVBAでこんなことは出来ますか?

    VBA初心者です。 IDとパスワードが必要なサイトから特定の数字だけをエクセルに自動で取り込むことは可能でしょうか?例えば証券会社の株価情報などです。一通り書籍を見ましたが、該当する解説が見つからなかったものですから・・・。 将来的に証券会社の株価情報をエクセルに自動で取り込みたいと思っています。 また、VBA関連の書籍でお薦めはありますか?

専門家に質問してみよう