タイトルの通りです。
現在、事務職をやっています。
集計や報告書でExcelを使うことが多くあり、VBAも少し使ってきました。
知識はちゃんと学んだものではなく、
自動記録のマクロに、ネットで見つけたコードを貼り付けたようなもの。
きちんと理解しているとは、とても言えません。
社内では、VBAが使える人はほとんどいません。
(Excelの関数でなんとかなる、とも言えるのですが)
そのため、少し複雑な処理について相談を受けると、説明できるはずもなく・・・。
人事異動があり、上司が代わり、
セミナーでも書籍購入でも支援すると言ってくれています。
それまでの上司は「女の子は言われたことができればいい、
できないことを無理に学ぶ必要はない、必要があればこちらで教える」
と、セミナー受講や書籍購入は却下されてしまったため、
自発的に、手計算でやれと言われたものをVBAにしたりしていました。
セミナーを見ると1日完結の講座が多く、1日でどれだけできるものなのかと不安です。
また書籍も立ち読みで少し見ましたが、
読んだだけで自分がやりたいことの応用ができるのか、これも不安です。
内容としては、複数のブックから特定シートを抜き出して新規ブックを作成とか、
シート内の特定項目に該当するデータを抜き出して書式を整えてPDFで出力とか、
そのくらいのレベルを求められています。
Forだのloopだのdimだの、コードのコピペで見かけて、なんとなく知っているものの、
自力で内容をバッチリ理解できているわけではないので、
数年前に作ったVBAを、状況が変わり改編する際に、
うまく対応できないことばかりです。
コードが書けるみなさんは、どのように学ばれたのでしょうか。
アドバイスをいただければと思います。
よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
学校に通いました。
ナガセです。業務上の必要から勉強するようになりました。いわゆる片手間プログラマです。あなたと同じように独学での切った貼った方式に限界を感じました。講義形式ではなくビデオ形式です、大手は皆そうです。えービデオ??と思うかも知れませんが、聞き逃したら巻き戻せるし、PC上でビデオで学び、その場でVBAを組めるのでやりやすいです。完全に自分のペースで進められ重宝しました。一応資格があってエクセルVBAエキスパート(ベーシックとスタンダード)です。松なのか竹なのか梅なのかよく分からない名前ですが、資格取得を目指して勉強すると基本事項を網羅出来るようになってます。大手学校でも資格取得を目的としてます。私は実際使うことが目的なので受験はしませんでした。難しいのはゼロを1にする部分なので、ベーシックにしましょう。後はネット検索なり独学で十分です。
受講に際して、必ず「仕事のこのマクロ作成を目標に勉強しよう」として下さい。気合の入れ方が違います。
修得後について
あなたの本業は何か分かりませんが、マクロを組もうとするとマクロ作成に割く時間が非常に多くなります。初心者のうちは尚更です。しかしマクロというのは本来「手動でも出来るただの作業を効率化」するだけであって、何かを生み出してくれるものではありません。なんか高級なことをしようとしてるように見えますが、実際はただの作業扱いです。あんまり時間かけ過ぎて手作業と大差なかったとの結果になると、何のために時間割いたのかと時間対効果の問題になるので注意が必要です。
上記のこともあって、マクロ化する作業対象は毎日する作業とか部署の全員がする作業とか、短縮効果の見込めるものになります。よくネットで「3日かかる作業が3分に」などと言われており、確かに事実ですが、マクロ作成に3日かかったどうですか?しかも一回こっきり2度と使わない。。。
回答ありがとうございます。
具体的な学習方法、参考になりました。
紹介してくださっている「ビデオで、自分のペースで繰り返し経験」は
力になるなと思いましたし、自分のスタイルにもあっているなと思いました。
Excel VBAベーシックを、少し調べてみて、ここから始めたら良さそうだなと感じましたので、
上司とも相談し、こちらで進めてみようと思います。
有意義な回答、ありがとうございました!
No.6
- 回答日時:
デバッグエラーが出る、つまり黄色い行が表示されたらそのエラーメッセージを検索します。
すぐには理解できない事も少なくないとは思いますけど、納得いく理解が出来るまで、ブレークポイントやイミディエイトウィンドウを駆使して確認します。これらの用語もその使い方は検索すれば見つかります。
で、やってみたけどどうしても理解出来ない時にこういう場所で訊くと、渇いた土に水が染み込む様に入ります。
よくやらないで訊く方いますけど、それで入る訳が無いんです。
自分で何が解らないかの整理が出来ていたら、すんなり入ります。
検討を祈ります。
なおそれが表示されることなく中断するケースも多々あります。ケースバイケースなのでそれらもお尋ね頂けば。
重ねての回答、ありがとうございます。
ほんと「作りっぱなし」なので、
使い続けて1年、突然黄色い行が出てきてコードを開いても
「これ、何をさせようとしてる文だっけ・・・?」連発の有様です。
(それで、上司からも「ちゃんとできるようになって」と言われ。)
ご助言いただいた通り、検索・検討を何度も繰り返した上で、
こちらのような質問サイトも有効活用させていただきたいと思います。
No.5
- 回答日時:
No4です、補足します。
セミナーつまり1日2日のものは止めましょう。身になりません。何となく「集中受講してエッセンスを知った」気分になるだけです。他言語を知る人が翻訳作業のために受講するのが適してるように思えます。前述の学校の費用は確か5,6万円だったと記憶してます。企業の研修としてそれほど高額とは思えません。時間も融通が利いて業務終了後や休日に通学すればいいし。まさか勉強させてもらって出張費用残業代まで出させようとは思ってないでしょ?
引き続きの回答、ありがとうございます。
1日2日のセミナー、やはりあまり適さないのですね。大変参考になります!
>業務終了後や休日に通学すればいいし。まさか勉強させてもらって出張費用残業代まで
今回は、会社から「業務として習得してほしい」の要請があり、費用全額会社負担も会社から明言されております。
そのため、休日や残業時間帯のセミナーは極力NGでという条件もついています・・・
(自腹ならやりませんし、自腹でやらせたらブラック企業ですよね・笑)
No.3
- 回答日時:
俯瞰的にプログラミングのどういう事を身に付けていくかの
視点と、着実に目の前の事を一つ一つを理解して行く視点の
両方が必要だと思います。
そしてVBAに限らずですが、デバッグの仕方、コツを
理解することがとても重要です。
何が起きているかを把握できないと、対処はメクラうちに
なってしまい時間ばかり浪費する悪循環に陥りますので。
VBAの場合オブジェクトとメンバーの関係についての
理解も大切です。オブジェクトブラウザが検索できると
メンバーが無数にあるのでなかなか覚えきれない点を
フォローしてもらえる気がします。Web検索も勿論
適切な検索ワードの指定が身に付けば強力ですけど。
そして何より最も大切なのは小さな成功体験の積み重ねです。
そのためにはやるべき事よりも、自身で少し背伸びすれば
可能な事にターゲットを絞るのもある程度の期間は必要と思います。
喜び、面白味のない事が自発的に継続できるわけないですから。
回答ありがとうございます。
まさに、何が起きているかわからずにデバッグエラーが出て、対策もできず放置、
というのがとても多くあります。
きちんと「理解をしていく」ことが大切ですね。
>喜び、面白味のない事が自発的に継続できるわけないですから。
はい!「できた!」の楽しさを追求しながら学ぼうと思います。
No.2
- 回答日時:
昔のバージョンのExcelにはきちんとした日本語のリファレンスが組み込まれていて、
たとえばForだのLoopだのDimだのをカーソルを置いてF1キーを押せば、
そのステートメントの説明と使用例(サンプルコード)を確認することができたのです。
そしてその使用例のコードを少し改変すれば、目的のコードになることもあったわけです。
最近のバージョンのOfficeはこの機能が無くなってしまっており
これから学ぼうとする人にはやさしくない仕様となっているようです。
現在のリファレンスはこちらに公開されているようですが、あまり使い勝手は良くなさそうです。
https://msdn.microsoft.com/vba/office-vba-refere …
回答ありがとうございます。
リンク先、拝見しました。
これは・・・お目当のコードを探すのが面倒そうですね。地道に学ぶのが一番かなと感じました。
No.1
- 回答日時:
私は質問サイトで無謀にも回答しつつ他の回答者の回答を実際に試して違いを知り、その回答をbookに或いはテキストファイルに保存してましたね
あとは溜まっていく資料を組み替えたりネット検索等もやりました
昔は回答者の回答に不備があれば、他の回答者は指導をしてくれたりとよい時代でした
今は何となく非難やとにかく自身がベストアンサーをと狙うのか、丁寧な関わりが無くなってきたと感じますね
あの頃に基礎を学べたことは運が良かったのかなと思いますよ
回答ありがとうございます。
経験と積み重ね、振り返りが大切なのですね。
私は、作ったら作りっぱなしでしたので、その点を改めてみようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでツールバーに「縮小...
-
複数のデータ系列の線の太さを...
-
Powerpointでランダムな数字の...
-
VBAを使ってエクセルシート...
-
ファイル名を今日の日付、時刻...
-
エクセル2007 テキストボ...
-
エクセルのマクロのボタンで他...
-
【ExcelVBA】クエリの更新とピ...
-
どのドキュメントは暗号化され...
-
cellsで特定の離れた範囲を選択...
-
ピボットグラフの書式の固定に...
-
最初の1回のみにボタンクリッ...
-
ユーザフォームをどの画面から...
-
エクセルワークシート上に印刷...
-
ユーザーフォームを「Esc」キー...
-
エクセルVBAで、画像の倍率を知...
-
VBA ChartWizardで円グラフが書...
-
wordのマクロで縮小して貼り付...
-
別ブックからユーザーフォーム...
-
VBA[Private Sub]のコードをシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数のデータ系列の線の太さを...
-
エクセルでツールバーに「縮小...
-
ファイル名を今日の日付、時刻...
-
VBA[Private Sub]のコードをシ...
-
cellsで特定の離れた範囲を選択...
-
Powerpointでランダムな数字の...
-
最初の1回のみにボタンクリッ...
-
エクセル2007 テキストボ...
-
エクセルシートをまとめて印刷...
-
ピボットグラフの書式の固定に...
-
【ExcelVBA】クエリの更新とピ...
-
別ブックからユーザーフォーム...
-
どのドキュメントは暗号化され...
-
Pictures.Insertメソッド⇒Shape...
-
VBAを使ってエクセルシート...
-
ユーザフォームをどの画面から...
-
エクセルで「ODBC Microsoft Ac...
-
Excelのラジオボタンにチェック...
-
wordのマクロで縮小して貼り付...
-
エクセルワークシート上に印刷...
おすすめ情報