こんにちは。私はまだキャリア3ヶ月の新人インフラエンジニアです。エンジニアがExcel VBAを勉強する必要性についてお伺いしたくて投稿させていただきました。
先日、会社の上司から至急Excel VBAの勉強をするよう指示されたのですが、エンジニアとして本当に必要な勉強なのか疑問に思ってしまい、勉強に身が入りません。それよりもネットワーク(CCNA)をはじめ、Linuxサーバーやデータベース(MySQLなど)の勉強を優先的にやりたいです。みなさんにはお伺いしたいのは、
1.どうしてVBAの勉強をする必要性があるのか?
2.(エンジニアとして)どういう場面で必要になってくるのか?
3.優先順位としては高いのか?
よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答9件
0
ここで質問して得られるものが、指示した人の意図を寸分違わず汲んでいる訳がありません。
逆に逸れているかもしれない回答で納得するのは損です。
指示の意図は推測できますが、その疑問は指示をした上司に尋ねるのが一番です。
「キャリア3ヶ月の新人インフラエンジニア」が真摯な態度で疑問をぶつければ、きちんと答えてくれるはず。
インフラエンジニアに限らず、そういったコミニケーションスキルは必須で、身に付けて行かなかればならないものです。
「エクセルは仕事面でどういった使い方をされるのですか?どうせならそういったところを重点的に学習したいので」みたいな質問をするだけで、疑問に思っている所を聞く糸口になります。
それでも、納得できない場合は、
・あなたの姿勢が真摯ではなかった
・その程度の上司または会社
の何れかです。
但し、この程度の内容で後者になることは先ず無いとは思います。
投稿2018/06/20 11:47
編集2018/06/21 01:46総合スコア25195
0
ソフト屋でインフラ業務を20年ほど続けています。
部下が(変わって新しい人が)入るたび、VBAが出来ると助かるのになぁといつも思っています。
投稿者の上司が私と同じ思いかはわかりませんが、ケースの1つとして回答します。
1.どうしてVBAの勉強をする必要性があるのか?
いくつかの理由があります。
- 新人ということでプログラムの基礎を理解してほしい。
自分はプログラムを全く知らない人にプログラムを教えるのにExcelのマクロ記録からプログラミングするカリキュラムを組んで教えたことが何度かあります。実際の効果としてプログラミングの概念を知らない人でもExcelでの操作が自動化されるというイメージでプログラミングを理解することは有効と感じました。
2) VBAはMicrosoftOfficeの自動化として有用。
長くIT業界にいて感じることは、JavaやC#やJavascriptに精通しているエンジニアでも、VBAを使える人は思いのほか少なく(しかも若い人に)、Excelというドキュメントに対して自動的に処理すること自体を発想できない人が多いことです。VBAを覚えることでドキュメントをデータとして処理することができます。
- VBAはVBScriptを作る時にも応用がきくのでWindowsでちょっとした処理を作るのにも役立つ。
もちろん今はPowerShellもありますが、セキュリティ制限で実行ができない環境もあり、VBScriptは1つの手段としてまだ有用なことがあります。またレガシーシステムではVBScriptが動いていることもあり理解できると解析が捗ります。
2.(エンジニアとして)どういう場面で必要になってくるのか?
インフラの業務としては大まかに次の場面でVBAを活用することが多い(実績として)です。
-
設計書などのドキュメントの一括処理
ドキュメントはOffice製品、主にはExcelが圧倒的に多いですが、納品にあたって印刷をまとめてやったり、ヘッダや印刷設定を統一したいとき、進捗状況を各チームにExcelに入力させてそれを集計したり、などはExcelVBAでまとめて処理すると手間やミスを削減できます。 -
運用ツールとして作成
インフラの業務で、保守作業がある程度定形化されている場合、各処理をVBAで呼び出したりして自動化することができる場合があります。
それをExcelで運用ツールとして作成し、プログラムスキルが無い運用担当や部下に任せることができます。
ただし、ツールのメンテナンス運用までフォローしないと運用品質を下げることになるので注意です。
保守以外にも、アクセスログの解析や、各種定義ファイルの自動生成、シェルの自動生成、SARやパフォーマンスモニター結果からCPUやメモリ、ネットワークなどのリソース利用状況のグラフ化、機器情報を集約してExcelにリスト化など、いろいろな場面で業務効率を上げるために使用できます。 -
Windows上で厳しいソフトウェア制限のある環境で処理を行う
Windowsのインフラの構築時に、顧客のセキュリティ要件でOS標準以外のプログラムを使うためのハードルが異常に高い場合、標準機能でプログラム的な処理を
実装するにはPowerShell(PS)かWSHくらいしかありません。
PSも厳しい条件下では実行が制限されていることがあり、そうするとWSHによる
VBScriptかJScriptくらいしか手立てがありません。
ただこの場面に遭遇することはかなりのレアケースとは思います。
3.優先順位としては高いのか?
状況によって判断は分かれます。確認されるのが一番よいです。
-
単純に次の仕事で必要なスキルであれば、最優先でしょう。覚えなければ仕事を任せられないからです。
-
それ以外であっても、指示されている以上は、何かしらの効果を期待されています。私と同じ理由ならば、覚えておくことで将来の業務効率を上げることが可能と考えますので、中程度の優先として取り組んだらいかがでしょうか。
以上です。あくまで個人的な意見であり絶対的なものではないと認識しています。
質問から3年経過しておりますが、受付中とのことでしたので、回答してみました。
投稿者・閲覧者の何かの役に立てば幸いです。
投稿2021/05/03 10:59
編集2021/05/04 00:36総合スコア16
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
インフラエンジニアと言うことは、ネットワーク機器などの管理も業務として行うことになります。
IP アドレス、MAC アドレス、接続するスイッチとポート番号、ログインIDとパスワードなど、管理しなければならない情報は多く、たいていの場合 Excel で管理しているはずです。
※そのために DB 使うのは本末転倒になりかねないので
ということは、なんだかんだいっても、Excel でいろんな事ができなければ、「インフラエンジニアとしての仕事に影響が出る」のです。
場合によっては Excel VBA を使って、「記載されているサーバーの全てに対して何らかの処理をかける」ことをやる可能性だってあるんです。
あともうひとつとしては、プログラムを覚えるのに Excel VBA というのはわりと手軽で有益だと言うことでしょうか。面倒な入出力をあまり考えなくていい(セルを使えばいいので)ので、とりあえずプログラムを書いて動かすには手頃です。デバッグもしやすい(動きを追いやすい)ですしね。
※Variant 型に気をつけなければいけませんが、逆に「型」を強く意識するようになるので他の言語を使ったときに気をつけるようになる
投稿2018/06/21 00:12
総合スコア13703
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
上司がVBAの勉強を指示したということは、VBAを必要とする仕事が控えているという事だと思います。
そうした状況で上司の指示を無視するということは、退職の意思を示すという事。
給料をもらわなくても50年や100年は暮らしていける(仕事は単に暇つぶし)というのなら、同僚の迷惑になるので明日にでも退職届を出されるのがよいと思います。
natural1994さんが仕事に穴をあける(VBAの仕事ができないのだから)と、同僚にしわ寄せがゆくのは確実ですから。
投稿2018/06/20 11:38
総合スコア6915
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
もしあなたがエクセルの仕事をインフラエンジニアなのに任されたとします。
あなたはインフラのことがやりたくて、エクセルをいじってデータ作成なんてやりたくない、、ですよね?
だったらエクセルVBAのことを学んでエクセルにかける時間を最小にしましょう。
どうでもいい雑務が何の仕事したって回ってきます。
インフラエンジニアなのにドキュメント作りだって回ってきます。
そういうもんなのです。
基礎教養とまでは言いませんが、ある程度使えたほうがいいです。
高校のころに数学を学んだ時もこれ何に使うんだろうって学びませんでしたか?(例えば三角関数とか。)
もしかしたら仕事でも使うかもしれないし使わないかもしれません。
でも使える道具は多いに越したことがないし、いつその道具を使うかなんて誰もわかりませんよ。
そのためだけにいつだって道具を増やして、毎日手入れをしておくんです。
社会ってそういうものだと思ってください。
投稿2018/06/20 11:00
総合スコア156
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
単にそこの会社が使用しているツールや文書で頻繁にExcelVBAが使われることが多いので勉強しておくようにとのことだと思います。
インフラエンジニアだからといってハード周りにことだけやっていればいいわけではありません。
プログラマーがプログラミングだけやっているわけではないように、文書作成は仕事上避けては通れません。
ちなみにインフラエンジニアとしてExcelVBAの知識は必要ないと思いますが、何かしらのプログラミング言語の基礎くらいは知っておいたほうが理解度は高まるかと思います。
投稿2018/06/21 00:38
総合スコア16998
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
とりあえず上司に相談してみてはどうでしょうか。言い方に気を付ければ良いだけですし、疑問に思っていることを解決した方が業務に集中できるかと思います。
上手く書けないですが「勉強の目的とゴール、聞けたら背景」「疑問や不安に思っている」ことを伝えたり・聞き出せれば良いと思います。
- VBAで組まなければいけない内容とその背景を教えても貰えないでしょうか。ポイントを絞った勉強をしたいです。
- サーバーやデータベースの知識が少なく先輩方の足を引っ張っちゃいそうなので、そちらでも何か私にできることはないでしょうか。
投稿2018/06/20 23:33
総合スコア706
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。