現在位置は
です

発言小町

新しいトピを作成
本文です

エクセルVBAに詳しい方、助けてください!

ころりんこ
2009年6月29日 13:21

事務員をしておりますころりんこと申します。
皆さんにおききしたくてトピ立ち上げました。
よろしくお願い致します。

タイトル通りなのですが
エクセルVBAについてものすごく興味があり
ぜひ勉強してみたいと思っています。ネットで講座を調べたのですが、
通学は諸事情により難しいの通信教育にしたいと考えてます。
I社のエクセルVBA入門か、
N社のやさしく学べるExcel VBA入門コースを考えてます。

ある程度エクセルが使え、関数も少々、
マクロもマクロの記録を使えば簡単なものはできます。
勉強されて今使われてる方、またこういう勉強方法があるよ!という方、
どうぞご教授ください。

ユーザーID:8580945477  


お気に入り登録数:34
  • 携帯に送る
  • このエントリーをはてなブックマークに追加
古いレス順
レス数:20本


このトピックはレスの投稿受け付けを終了しました。
タイトル 投稿者 更新時間
記録マクロが出来るのなら
スパ
2009年6月29日 15:32

通信講座に高い代金を支払う事ないと思います。

書店にVBAの分厚い本が沢山並んでいますし、アマゾンのレビューで星の多いものを選んでも良いです。

結局、VBAは目的に合わせて、どんどん自分で書かないと覚えません。
通信教育が教えてくれるのは、基本的な使い方、良く使うコードくらいなものです。

私はよほど手の込んだマクロを作りたいとか、そういう目的以外なら独学で充分だと思いますね。
(逆に、よほど手の込んだものを作りたいならVBをしっかり勉強しないとまず無理なので)

ユーザーID:3158590565
独学
まいは
2009年6月29日 16:10

スパさんの言うとおりで
VBAであれば独学で十分です。
書籍のラインナップも揃ってますし、
ネットの情報も揃っています。

確かにわからない点を
ちょっと聞ける人がいれば良いですが、
通信講座などに高いお金を払うる必要は全く感じません。

ユーザーID:1087861347
体当たりで楽しみましょう(1)
DITA
2009年6月29日 16:32

記録したマクロを「編集」すると、VBAのコードが見られます。
このコードをちょこっと変えて実行してみると、面白いですよ。
塗りつぶしの色を変えたり、セルの入力内容を変えたり、
実行内容に応じたコードが記述されますので、
それを流用すると何でもできちゃう気分になれます(笑)。

ただし、マクロは「操作記録」ですので、
生成されるVBAのコードは、どうしても、
「選択→選択されたものを変更」という、
マウスのカチカチも含めた回りくどいものになってしまいます。

具体的には、
 XXXXX.Select
 Selection.YYYYY
みたいに。

これを、XXXXX.YYYYY という形に書き換えて、回りくどさを解消していきます。
場合によって単純な書き換えができたりできなかったりするのですが、
これを経験するうちに、オブジェクトやメソッドなどの理解が深まると思います。

ユーザーID:4845555883
体当たりで楽しみましょう(2)
DITA
2009年6月29日 16:34

Excel VBA が、他の言語と違うな〜と感じたところは

● 歴史的事情なのか、言語体系がイマイチ

BASICの互換性を残すためか、ユーザー定義型というものが残っています。
(基本的に不要ですが、たまに使うと意外と便利だったりします)
ひとかたまりのデータの代入で Set を使う場合と使わない場合があり、
初心者がいきなり代入文で戸惑いそうです。

● エラーが不親切

エラーの大半は
「オブジェクトは、このプロパティまたはメソッドをサポートしていません」
「オブジェクトが必要です」
という困った環境です。
しかもエラー行全体がマーキングされ、長い行だとどこが問題なのか分かりにくいです。

ですのでエラーを特定する力が問われます。

● 組み込みのオブジェクト(プロパティ、メソッド)がやたら多い

これはExcelの多機能性に起因していて、
機能を1つ1つメソッド化しているので、とても覚えられる量ではありません。

以上から
★エラーを特定するスキルが必要。エラーの出現は訓練と思うこと
★ヘルプに物おじせず、体当たりで読む。マクロを記録し、コードを真似る!
をアドバイスします。

ユーザーID:4845555883
単純に
もりそば
2009年6月29日 18:36

「VBA入門」で検索すれば初心者向けのサイトがヒットできますよ(Excel VBA 入門講座とか)。
図解説明もありますし、参考書に載っているような内容は網羅しているので、まずはそちらでサンプルプログラムを色々動かしながら学んでみてはいかがでしょうか。
解らない構文や命令文が出てきても、該当文にカーソルを持っていって”F1”を押せば詳細なヘルプが出てきますから、それ程苦労する事はないと思いますよ。

ユーザーID:6451437657
トピ主です携帯からの書き込み
ころりん
2009年6月29日 18:44

皆様早速ありがとうございます。そうですね…確かに書店ではたくさん本が売られ、一冊購入しましたが理解出来にくいのです。それで通信教育かなと考えました。見ず知らずの私に時間さいて下さり大変感謝してます。引き続きアドバイスよろしくお願いします。

ユーザーID:6958422001
記録マクロをいじってみることから
しーさん
2009年6月29日 21:52

分厚い本をじっくり読むより、まずはいじって慣れるです。
記録マクロで生成されるコードを書き換えることから始めるとよいです。

また、ネット上には沢山の情報が溢れていますから、人のプログラムを参考に
真似てみたり、少し書き換えてみたりというのを繰り返してみましょう。

あとはVBAエキスパート資格を目指されるのも、目標が出来ていいですよ。
レベルはベーシックとスタンダードがありますが、基礎知識を学べると思います。

私自身は、週に1度、社内の事務員を相手に、VBA講習を行っていますが、
興味を持たれる方は、私が教えなくとも、ひとりでどんどん勉強しています。

私も、みなさんがおっしゃいますように、独学で十分だと思います。

ユーザーID:8059713651
図書館で試読を
初心者です
2009年6月30日 13:03

今年3月より、Excel VBAに取り組み始め、かなり複雑なコードも試行錯誤で時間はかかるけれども書けるようになって来ました。すべて、本による独学です。

本は、実際に手元に置いてコンピュータで色々とやってみないと、良し悪しはわからないと思います。レビューで評価が高くても自分とレベルの違う人の評価かもしれませんし。私は書店で見て「これ!」と思う本を買ってみたのですが、実際に参考にしてコードを作って見ると「初心者用」と銘打ってあるにも拘らず全くの初心者には書いてなければわからないようなステップや説明が抜けていました。本も高いので、図書館で借りたものを見るうちに、自分にとってわかりやすい本を見つけました。それでコードの文法や基本を理解し、後は自分の仕事で便利なように次々とコードを書いていきました。時間はかかるし謎解きは必要だけれど、それで段々身につくと思います。

VBAは何かを成し遂げるために一つのコードが正解とは限りません。色々遊んで楽しんでください。

ユーザーID:6199058140
業務で使おうとすると、スキルが上がる。
夕凪
2009年7月1日 10:34

個人利用だとそんなにVBAも必要とはならないと思いますが、
業務で利用し楽をしようとするとこんなに便利なものはありません。

123全盛で圧倒的。このころEXCELは、VBA搭載前の登録型マクロでした。

今はメモリの制約がなくて良いですね。(今私のPCのメモリでも1.5GB=1500MBです。)
かつてはちょっと大きな表を作ると途端にレスポンスが悪くなり
動かなくなりました。まあメモリ3MB、5MBの時代でしたから。

EXCELは登録型から、VBA搭載になって、行き詰まりました。
でもがんばって勉強しましたね。
EXCELには、記録機能があるのが強みです。これを見ながらお勉強ですね。
教科書は、もちろんマイクロソフトのEXCEL解説書です。(正確に言うとマイクロソフトオフィシャル○○)

業務では、たとえば見積書など、とても便利です。
一枚二枚なら必要ありませんが、数百枚だと便利。
for nextのくり返し、分岐+選択、ネスト、コードの最適化などの知識が必要。

for nextができるようになって、見積書など枚数が多いものが、自動化印刷できるようになりました。
感動!でしたね。

ユーザーID:7549453072
他の方の書かれているとおりに
通行人
2009年7月1日 16:17

記憶マクロを修正することから始めるのことに一票です。
私の場合、本は2冊用意しました。
入門用のものと、辞書的に使える、こういうことがしたいのなら、こういうマクロというように事例が数多く出ているものです。

本を参照しながら、記録マクロを独学で修正していくだけで、そこそこのものが書けるようになります。

ある程度手の込んだマクロについてはですが、
実はマクロを書くのが趣味という方々が沢山います。そんな方々は親切にも、ウェブサイトでマクロの講座をしていたり、またこんなマクロはこう作ると説明したりしています。
ですから、自分のほしいマクロは、そのイメージに近いものがインターネットのどこかにあったりします。
それを見つけて、自分なりに修正を加えていくのも一つの勉強だと思います。

ユーザーID:6970109894
webサイトの利用
七誌
2009年7月4日 17:28

自分もVB,VBAを勉強中です。同じように手探りしている状態です。
参考になるかわかりませんが、自分の場合は、ひとつの項目を調べるのも必ず複数のサイトを参考にしています。
そうすると、同じ働きをするコードでもいろいろな書き方があることがわかり、それぞれの書き方の利点や欠点を知ることができます。
また意外な使い方や豆知識なども得られます。
同時に何冊も書籍を見比べるのは大変ですが、webサイトは気軽に複数のページを見比べることができるので助かります。
ヘルプ>HP>書籍>講座、自分の中ではこのイメージです。

ユーザーID:0655520574
業務で使用するなら
傍流
2009年7月4日 18:54

VBAを業務で使用するならば、ソフトウェア開発やプログラミングの勉強をしてください。特に、作ったVBAアプリケーションを自分以外にも使わせることを考えているならば、本来のデータ処理についての設計検証や妥当性確認のみならず、エラー処置等も含めて、かつ可読性の高いソースを作成できるようにしてください。
処理の正当性の保障、高メンテナンス性が確保されていないツールやマクロをばら撒かれても、迷惑なだけです。

趣味の範囲、記録マクロ程度であれば、他のコメントにあるような方法で良いと思います。

ユーザーID:6435748855
参考までに
インパクト
2009年7月4日 20:39

何かをやりたい時にフローチャートがあると便利です。

あとはチャート通りコーディングして行けばいいので。

フローチャートが有る無しでは後でのメンテナンスで大きく差が出ると思いますし、これが書けないとなると仕事の内容が把握出来てない時もあります。些細な事も全て書かなくてはいけないのがプログラムですのでフローチャートを押さえるといいと思います。

コードを暗記ですけど、頻繁に使うコードは大体決まってくると思いますので人の書いたプログラムを写経していけばそのうち暗記出来ちゃうと思います。自己流で組み立てたプログラムより定形化したものを本なんかから拝借して使う(オペランドは書き直す等)と便利だと思います。

「フローチャート 書き方」「VBA」でググると利用頻度の高いサイトから表示されると思いますので皆さんの利用回数の高いサイトが結構便利かと。ここである程度覚えてから本屋さんに行くと本を選ぶのにいいと思います。

講座はある程度コーディングが出来てから受けるといいのでは。

勉強方法のひとつとして参考までに。

ユーザーID:1761732691
何かやりたいことを見つけるのが早道
購買担当者
2009年7月4日 21:23

他の言語は英語を含めからっきしダメダメですが、
BASICならなぜか読み書きできる私が多少の知恵を。

まずは「何かやりたいこと」を見つけてください。
たとえばお小遣い帳(家計簿)とか、CDの曲名一覧表とか、
年賀状の住所録とか。

目的があるとそれに応じて書籍を引用しつつ、動作を記録
させたマクロを改造していくことで動作がわかるようになってきます。

もちろん、エラーも出してトライアンドエラーです。

やる気もない書籍の例題を入力してもあんまり「使える!」
実感がないので興味が減衰していきます。
自分のやりたいことであれば、「ああ、ここはもっとこうすると
ラクなんだけどな」とか「これじゃ目的どおりにならないや」と
改良しようとする気が出てきます。

がんばって!

ユーザーID:1447692492
独学派です!
miu
2009年7月5日 1:12

VBAを独学で学んだ30代事務OLです。
2年前、トピ主様とほぼ同じ位のExcelスキルでした。
私の場合ですがまず、Amazon等で評価の高いExcelVBAの入門書を購入しました。
最初は本の内容がさっぱりわからず、最後まで読み通すのに一苦労しました。
基本的な用語、構文を覚えるまで何度も繰り返し本を読みこんで理解しました。
トピ主様がここでくじける気持ちがよ〜く分かります!
しかし、ここが頑張りどころです!!
ここを乗り越えると、ネットの質問掲示板に書かれている内容や、マクロの記録のコードを自分で書き換えるということが、かなり分かるようになりました。
基本を覚えたあとは、実務で試行錯誤しながらVBAを書きつつ、「Excel VBAスタンダード」の資格を取得しました。
資格勉強は、VBAの機能を万遍なく理解するのに役立ちました。
プログラミングが全くの初心者であれば、初心者向けに体系的にまとめてくれている本での勉強をオススメします。
とにかく、まず最後まで1冊読みきることに専念してみてください!

ユーザーID:4647602126
ありがとうございます!携帯からの書き込み
トピ主です
2009年7月5日 7:09

皆様どの方もご丁寧なアドバイス本当にありがとうございます。大変感謝してます。サイトもアドバイス頂いてから見たり、書籍も買い奮闘中です。図書館も子供が大きくなれば一緒に通いたいと考えてます。
私がVBAを始めようと思ったきっかけは、仕事をよりやりやすく簡素化したい(これにより、少しでも改善したことを会社に報告すると、ほんとわずかですが、賞金が出ます)そして何よりも将来の知識の為、誰にも出来ないスキルの為です。(うちの部署では誰にも出来ない、システム関連部署の人以外も)皆様の始めようと思ったきっかけは何でしたか?

ユーザーID:6958422001
ですから・・・
傍流
2009年7月5日 17:12

>私がVBAを始めようと思ったきっかけは、仕事をよりやりやすく簡素化したい(これにより、少しでも改善したことを会社に報告すると、ほんとわずかですが、賞金が出ます)そして何よりも将来の知識の為、誰にも出来ないスキルの為です。

私の勤務先でも同様な制度があります。
で、繰り返しますが、その程度のアプリケーションを「ばら撒こう」などとは、決して思わないでください。


本題とは異なりますが、その制度には疑問を持っています。
・本来業務であるはずの工夫に賞を出して良いのか?
・プログラミングの時間等は、どこから出ているのか?
・できたアプリケーションの品質保証は誰がするのか?

ユーザーID:6435748855
いろいろ
インパクト
2009年7月6日 6:49

>そして何よりも将来の知識の為、誰にも出来ないスキルの為です。

目的意識が有ればVBAだけでなく色々な事が出来る様になると思いますよ。その第一歩がVBAと思ってもいいのではないでしょうか。

プログラムっていろいろなテストをして精度を増していきます。
ダミーデータを入れても正確に各セルに正しい値がはいるか、キーボードを適当に押しても暴走しないかなんてテストがそうですけどこれは経験しながら覚えるしかないと思います。デバックに何ヶ月もかかる事もありますね。

もしシートを誰かに手渡す時は関数やマクロなどは抜いておかないと相手が改ざんするミスが起きたりしますので値だけのシートにしてロックを掛けると尚安心です。メールに添付したりフラッシュメモリー等で渡すときはそうしてます。

いろいろと経験しながら腕があがっていくといいですね。

私が言語を覚えようと始めたのは好奇心からです。事務用のPCも機械制御用のPCも使っていますよ。メーカーが時代と共にどんどん沢山の人に使ってもらえる様に工夫がされてますので是非ともPCの面白い世界を体験される事をお祈り申し上げます。

ユーザーID:8794070925
独学でもOK
独学派
2009年7月9日 23:07

以前、仕事で「こんなことが出来たら便利だな」というのがきっかけでVBAを独学で覚えました。

いろいろな本が出ているのですが、初心者が一番理解し易かったのは、マイクロソフトが出している公式本でした。

他のは、一見イラストが多くて分かり易そうでも、玄人がその視点で解説しているのでいきなりぶっ飛んだ専門用語が使われていたり(多分、他のプログラミング言語を習得していたら常識なのだと思いますが。。。)結局とんちんかんでした。

その点、公式本は本家ということもあり、丁寧に例題で練習しながら一歩一歩進んでいったのでかなり入り組んだプログラムも自由に組めるようになりました。

もし、学習書で迷われているのでしたら取り敢えず公式本から入ることをお薦めします。

ユーザーID:6741919465
文書化にもぜひチャレンジしてください
AMEMA
2009年7月10日 19:05

はじめまして、本職で業務ソフトウェアをつくっている者です。

VBAが使えるようになってきたら、次は自分が作成したVBAプログラムを文書化ください。

1. そのVBAプログラムの操作の手順書
操作前の準備、具体的な手順、操作後の手順など
2. そのVBAプログラムの要件書
用途、背景となる事務処理、使用者など

文書の体裁はフリーですが、簡単な箇条書きで、かつ必要事項を漏らさずにまとめてください。
あいまいな表現は避けてください。どうしても具体的に表現できない部分があったら、徹底的にその部分のVBAプログラムを見直してください。
この文書の対象読者は、内部監査を担当する役職者や、監査法人も含みますので、第三者がわかるように表現してください。(例:出力したシートを誰々さんにメール -> 集計結果シートを決済承認者にメール)
書き上げた文書は、VBAプログラムを改修する度に、必ずアップデートしてください。

以上、私見ですが、文書化することで、個人的な業務改善が、組織への貢献に変わるはずです。健闘を祈ります。

最後に、子育てと仕事の両立がんばってください。

Peace!

ユーザーID:8556294902
 


現在位置は
です