現在位置は
です

発言小町

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

エクセルマクロ(VBA)は邪魔者扱い 携帯からの書き込み

しょぼん
2018年7月31日 7:18

事務職20年です。
10年ほど前にエクセルマクロ(VBA)の有用性に気づき、(当時 会社にプログラマーがいらしたので)教えていただき自分の仕事にいかしてきました。その方はもうご退職されましたが、私はそこそこのマクロ(ソースから書き システムに負担をかけない作り)を組む事が出来るようになりました。

でも最近、虚しさしか感じません。退職されたプログラマー(会社のシステム管理者)はマクロでの業務改善を良しとする方でしたが、現行システム管理者は[マクロなんて使ってて貴女が急に会社に来れなくなったら誰もその業務が出来なくなる。使うなら関数までにしてください。]という考え方なのです。(でも提案しても「お金がかかるから」と何もしてくれない)

新しいマクロを組んだ際は上司に報告・確認後使っており、全てのファイルにおいて「このマクロはどんな作業を行ってるのか?の説明文」「使い方のマニュアル」を添付、VBAソースは全開放(passをかけず誰でも見られる)していました。

最近は新しいマクロを組んで業務改善する気も失せてきて、やって言われるくらいならノンビリ時間かけてやった方が良い、と感じて何もやってません。

新しいシステム管理者の方がおっしゃる事(負の遺産というマクロの残骸を残されても困る)もわかりますし、次の担当者がマクロ使いでなかった時の作業の遅さ(マンアワー管理)も悩みのタネになるでしょう…。

でも何か、、せっかく勉強したのになぁ…と。教えていただいたとは言え、自分でもかなり勉強しましたし…まぁ会社の方針が変わってしまったので仕方がないのですが。。なんだかなぁ、、と思うし、インターネット上や本屋で見かける「VBAで業務改善!貴女の強みになる!」みたいな記事やVBAのマニュアル本も(以前は輝いて見えましたが)煤けて見えます、、

ユーザーID:0446139876  


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

タイトル 投稿者 更新時間
マクロは
Pearl
2018年7月31日 13:00

かなり習熟を要するので結局「最初に組んだ人しかわからない」ということになり
その人がやめたり異動したりするともはやメンテが不可能になるのです。
主が平易なVBAマニュアルでも書いておけば別なのでしょうが…。

ユーザーID:8201369712
周囲のレベル感まで把握して、はじめて優秀
かな
2018年7月31日 16:27

タイトルの通りだと思います。
私は事務職10年ほどでマクロも多少は使ってきました。
簡単なものならソースも書けますし関数もかなり使用します。
自分だけが使うデータならいくらでも。

ですが、会社は1人でまわってはいませんし、自分と同じ能力の人だけを揃えているわけではありません。
トピ主さんのところでマクロによって効率化された分の時間は、後輩が戸惑う時間で相殺され、徒労に終わります。
標準的なレベルの関数のみで、誰もが扱えるシンプルで効率的なデータを作れてこそ優秀なのではないでしょうか。

マニュアルの有無は関係ありません。
「マクロ」という一般的な事務職から見て高度なスキルを用いることは効率化ではなく、単なる複雑化です。

ユーザーID:8796883750
エクセルにはつきものの悩みです
チュン夫
2018年7月31日 17:52

トピ主さんも「しぶしぶ」理解されていますが、せっかくVBAを勉強されて実務に生かしているのに申し訳ないのですが、次に引き継いで修正できる人が(おそらく)いないと思います。

「使い方のマニュアル」があるのなら、後任者がVBAを知らなくても、しばらくは使えると思いますが、VBAを修正する必要が生じたら、そこでそのエクセルは使えなくなると思います。


どのプログラムでも同じですが、ベテランプログラマーでも、他人のプログラムを読んで修正するのは至難の業です。自分が書いたプログラムですら、1年も経つと「ここの処理は何だっけ?」となるのが普通です。

そのため、私がプログラムを書いていた時は、処理ブロックごとに「何をする処理か」「(そのために)具体的にどうやって処理をしているか」を書き、プログラム1行ごとにもコメントを記載し、後で自分では解読できるようにしていました。


私は面倒な事務計算は「アクセス」で行いました。クエリーという基本処理をたくさん作って、それを順番にクリックすれば処理完了となるようにし、後輩に「処理のやり方」を引き継ぎました。

でも、「アクセス使い」は会社に2〜3人だし、VBAより修正が簡単とは言え、引き継いだ人は修正ができないので、いつまで使えるかはわかりません。

その処理は会社に不可欠で、エクセルでは不可能なので、修正時は外注に新規発注して基幹システムに組み込む(100万円以上かかりそう)か、アクセスに詳しい外注に(数はとても少ない)アクセスを修正してもらう(数十万)しかないと思います。

>でも提案しても「お金がかかるから」と何もしてくれない
現場で処理している内容をシステムに反映しようとすると、すぐに100万〜1000万円くらい必要なので、よほどのことがない限り難しいのです。

エクセルやアクセスが「できる」人にとっては永遠の悩みだと思います。

ユーザーID:4263517118
十数年待つ(笑)
リタイヤ世代
2018年7月31日 19:07

 昔の事を思い出しました。

 業務システムでエラーが起こり電話がありました。お客様の情報システムの方に、あのプログラムのあの辺かなと連絡。後で聞くと「仕様に無いデータを入れて弾かれた。プログラムコードを追加した。仕様変更費用は無しネ。」と言われました。

 それから十数年、お客様の情報システムの管理者の方に、「仮想記憶て何」と聞かれ説明。その素人さに驚きました。

 今時は、情報システム部門の方でも「プログラムは専門分野」なのですね。まして他の部門の方には無理ですね。


 で、しょぼんさんへの提案

(1)自分の業務だけエクセルマクロ(VBA)で効率化し、楽をする(笑)。あるいは生産性を上げて自分の評価を上げる。もちろん、マクロ無しでの手順書は作っておく。

(2)身近な業務効率化を掲げ、情報システム部門に移籍。もしくは会社に係りかグループを作らせる。複数人いれば運用や保守の問題は解決できます。 

(3)あるいは、十数年待つ(笑)。
 今小学校でプログラミング授業が始まっているらしいので、そのうちプログラミングは常識になりますよ。

 どれもだめでも、マクロプログラミング(VBA)は論理的思考の訓練になり、しょぼんさんの能力向上に役立っていますよ。 しょぼんとしないでください。
 

ユーザーID:9425389041
懐かしいなあ
匿名
2018年8月1日 6:30

お気持ち分かります。

一昔前は「エクセルを使えると言うならマクロも組めないと」みたいなことネットで言われたりしていましたからね。

私はずっと派遣社員ですが同じく事務歴は20年ほどあります。

以前いた会社ではエクセルとアクセスを連携させたファイルを作成してボタン一つで集計完了みたいなのを作って使っていましたが、後任の派遣を探す時、そのようなファイルを扱える人が見つからず。
来たのは関数すら怪しい人でした。
ええ、全て手入力に戻しました。

でも、マクロを組んだりアクセスでツール作ったりするの楽しかったんですよね。
あの時の経験は無駄とは思っていません。

ただ、どこの派遣先でも求められるスキルはせいぜい関数まで。
マクロを組んであるファイルがある会社には行ったことがないです。
逆に関数すら分からなくても、誰かが作ってくれたファイルに入力さえ出来ればよしみたいな会社も山ほどあります。

現派遣先には私と同じポジションの人が5人いますが、そのうち3人はlookupのメンテすら出来ません。
表を参照しているらしいというのは理解しているのですが、範囲外に足しても参照されないということが何度説明しても分からないようで。

ま、事務員ですから。
社内システムは会社ごとに違うし、電話応対がそつなく出来て一般常識がありメールが書ければどこの会社でも雇ってもらえます。

マクロやアクセスはあれから10年近く経ち、今ではすっかり忘れてしまいました。

ユーザーID:5133851885
その通り
ヘビ猫
2018年8月1日 7:10

我が社でも、エクセルマクロの好きなグループとPython(パイソン)でビックデータ解析までしてしまうグループに分かれています。私は後者のチームです。残念ですがそれが時の流れだと思います。会社が技術系という事情もあり、汎用性がないマクロを残されても困るだけです。

ユーザーID:8486900007
参考になりました
ベテラン事務員
2018年8月1日 9:12

元SEのアラフィフ1人事務員です。
前任者が組んだマクロをそのまま引き継ぎ、レベルアップさせながら今も使ってます。
マクロなんて学生でも組める単純なプログラムだと思ってました。
定年退職まで居座るつもりなので、当面引継ぎの心配はしなくていいのですが
後任者がマクロを理解できない可能性については考えていませんでした。

このトピで世間の常識は私の非常識だったんだと気付かされました。
ありがとうございました。

ユーザーID:7520126352
EUCはリスク
テナガエビ
2018年8月1日 9:45

気持ちはすごくよく分かります。
私もかつて(90年代後半)は手作業を片っ端からマクロ化して楽してました。
私が去った後の職場ではあのエクセルファイルどうやってメンテしてたんだろう。
年次のデータの入れ替えとか参照するテーブルの書き換えとか、いろいろコツみたいなのあったんだけどな。

「マクロによる業務効率化」はエンドユーザ・コンピューティングが内包するリスクが認識され始めたことでリスクのひとつになりました。
やるなら職場のシステム責任者ときちんと協働して、正式のシステム開発に準じた管理をすることが必要です。
これはもう時代の流れなんで仕方ないです。

システム開発って、本体の処理部分(マクロであればソースを書く部分)よりも、それをきちんと仕様書からマニュアルまで文書化し、テストを繰り返してどんなタフな使い方やレアな条件発生があっても誤作動しないようにガードを固め、ユーザに教育するなどのインプリの方が往々にして大事業であり、円滑な運用のためにもそれが重要です。
システム部門の仕事ってそういうことであり、個人のマクロはそれができないためにリスクなんです。

トピックに書かれたようなことをシステム担当者とざっくり本音ベースで話してみて、活用の仕方を相談してはどうでしょうか。

ユーザーID:9834828928
Excel ファイルの属人化回避策
DITA
2018年8月1日 10:20

A という、業務で使う Excel ファイルがあったとして、
その A に直接マクロを書いてしまうため、
Excel ファイルが属人化し、後任者が A を使えなくなるリスクが発生してしまいます。

A はあくまでも数式ベースまでの状態にしつつ、
B という Excel ファイルを新たに起こし、
B 上の VBA を実行すると、B が ファイル A をオープンして A の中身を自動で書き換えるものを作れば良いのではないでしょうか。

そうすれば、B が使える人なら、その間は効率化に貢献しますし、
後任者が B を使えなくなっても、A は数式ベースとして残りますので、A を引き続き使って行けば良いのかと。

VBA をソースから書けるということですので、上記、試してみてはいかがでしょうか。

ユーザーID:2863567645
RPAは最近流行なんですけどねぇ
ochapi
2018年8月1日 12:57

いろんな処理の自動化をするRPA(Robotic Process Automation)は最近流行ですけど、トピ主さんの会社ではやらん。ということなので、それはまぁ仕方ないでしょう。多分、やりたがっている会社はそこそこありますので、転職も考えた方がいいかもしれません。

この手の自動化は、

・属人的にしない

というのが一番大事です。トピ主さんが一人で使ってる分には別に構いませんが、他の人も関わる業務フローに入れてしまうと現在のシステム管理者の言うとおり「トピ主さんがいなくなったら困る」ということになります。

「ソースは見られるようにしている」とのことですが、
・トピ主さんのマクロを含んだExcelブックを使っている人は、常に最新版マクロを使えるような環境はありますか?
・バージョン管理はしていますか?
・チケットの管理はしていますか?
・他の人もチェック可能なテストケースを使っていますか?
・トピ主さんが突然会社を辞めた時にプロジェクトを引き継げる人は育てていますか?

このへんが会社として整備できていないのなら、「自分の仕事にだけマクロ使って時間短縮」くらいが妥当でしょう。

ユーザーID:9188319534
前任の担当者に助けられていたということですよね
懐かしい
2018年8月1日 15:37

>現行システム管理者は[マクロなんて使ってて貴女が急に会社に来れなくなったら誰もその業務が出来なくなる。
ユーザーインターフェースをきちんと理解してリリースしてくれ、ということですよね。
私も、この問題をクリアしたマクロのみがリリースできるレベルだと思います。

>退職されたプログラマー(会社のシステム管理者)はマクロでの業務改善を良しとする方
この方は、上司の方から同様の要求を受けて、ご自身で解決されてこられたのだと思います。

つまり、トピ主様は、前任の管理者の方のフォローの元、作業をされていたわけです。
前任の管理者が、上記のインターフェースについて責任を取られていたのでしょう。
今、トピ主様はそれができるのでしょうか。
管理者が別途おられるということは、その能力があるとは認められていないと思われます。

プログラミング能力は、読み書きそろばんと同じツールでしかありません。
それを職場で活かすには、別途運用能力が求められます。
プログラミングの魅力にハマると、運用能力が無くてもプログラミングそのものに十分に価値がある、と、誤解されますね。
プログラミングできてなんぼ、関数がわかってなんぼ、のようなことを言いますが、それは、漢字が読める、字が書ける、計算できる、ということと同列でしかありません。

プログラミングを活かすには、運用能力が必要だと思います。

プログラミングに対する相応のスキルも必要だし、それを運用する上でのコミュ力や説明能力も必要でしょう。トピ主様は、プログラミング能力以外にも多くの面で元管理者の能力に頼ってこられていたことに気づきましょう。

ご自身に彼女と同じだけの能力がつけば、いずれ現管理者も理解し信頼するようになるでしょう。
それができるようになるレベルまで、まずは、会社人としてのご自身のレベルアップを図りましょう。

ユーザーID:6164928939
プロの仕事はスキルの高さだけが基準ではない
セイウチ
2018年8月2日 1:36

プログラミングのアマチュアとプロの違いって何でしょうか?
一般には、スキルの差だと思われがちですが、そうではないと考えます。

もちろん、プロならば程度のスキルは必要でしょうが、
「担当者が代わっても継続運用できるような仕組み」が築けるかどうかだと思います。

具体的には、「高度なプログラムよりも理解しやすいプログラム構造」
「ソースのコメントがしっかりしている、ドキュメント類が揃っている」など。


一方で、スキルに関しては、「高度なアマチュアよりも並のプロの方が下」
ということは珍しくないと思います。

でもプロの価値って、前述の「担当者が代わっても困らない」って部分にあると思いますよ。

そういう目で見ると、現システム管理者の方が理に叶っていますよね。
組織で仕事をしている以上は。


プログラムに限らず、一般にリソースを2倍投入したからと言って、
アウトプットは2倍までいきません。

なぜなら、複数人でチームを組んで仕事をする場合、
担当者間の意思疎通(打ち合わせなど)に時間を割かざるを得ないからです。
その時間の分だけどうしてもアウトプットの量は減ります。

ユーザーID:0588304844
自分の業務範囲内で
匿名
2018年8月2日 12:08

定型作業なら機械に覚えさせて、データだけ更新すればいい。便利。
だけど機械に覚えさせる作業修正能力が人それぞれで一般化出来ないんですね。
上司のお考えも正しいように思います。

残念だけど主さんが作業する部分だけ活用して、同時に手作業のマニュアルを残しておけば?

ユーザーID:3899224106
マクロは邪魔者ではありません!
いっこ
2018年8月2日 17:29

社内で業務見直しがあり、ある部署の一部の業務を、経理部の私がやることになりました。
データは全てエクセルというので引き継いだところ、素人丸出しのマクロや無駄な機能や関数を組み合わせていて、もうムチャクチャ。これまで見た中で一番「汚いエクセル」で、どうしてこの程度のデータに、こんな無意味なことをするのか?と驚愕。

担当者は「部署で一番エクセルが得意な人」と言われているので、「まさか私に対する嫌がらせでこんなに酷いエクセルをよこしたの?」と思ったのですが、そうではないのです。結局、全て作り変えました。

マクロが邪魔者なのではありません。
「マクロが出来ちゃうPCが得意なワタシ」という自己満足が、邪魔なのです。

ユーザーID:8749331780
開発言語のトレンドはどんどん変わっていきます
会社員
2018年8月2日 22:43

開発言語のトレンドはどんどん変わっていきます。

1. VBAでの開発需要がある会社に転職する。
2. VBAから他の言語を覚えプログラマー(エンジニア)に転職する。
3. VBAも理解できない事務職が過去の異物になるのを待つ。
4. 副業が許されてるならクラウドソーシングのVBA案件で稼ぐ

今、ちょっと検索してみたらVBA案件で月50万-60万の案件たくさんありましたよ(フリーランスのエンジニアとしては安い部類dwすが)
トピ主さんの周りの事務の方で、どれだけの方が会社辞めて月50万円稼げるというんでづか?
それだけのスキルを身につけたと思って、次への活かし方を考えてください。

上記の1から4、どれも私の身近にいらっしゃる選択肢です。

ユーザーID:9515444785
ブラックボツクスはリスクだから
のとてす
2018年8月3日 8:20

トピックの論調からはトピ主さんはあまり納得されて
いないように思いますが、管理者のおっしゃることは
至極まともだと思います。

>「このマクロはどんな作業を行ってるのか?の説明文」
にもよりますが、結構こういうのは作っている方が
アピールしたい部分しかない場合が多いです
(トピ主さんの場合がどうなのかはわかりませんが)

利用するデータの出力形式が変わったり、
何か要件が変更になったりする場合、当然事前に
予期できないから仕方ないですが、マクロが予想通り
の結果を出さなくなる場合もあり、その際利用している
人が問題を回避できないリスクはあると思います。

他の人も「手作業で実施した場合の全工程」
「なぜ、何のためにそれをするのか」が理解できた上で、
効率と正確さのためにマクロを用いることができるのは
はありがたいことだと思いますが、
もしそうでないなら
>ノンビリ時間かけて
でも理解して実施した方がよいです。

ただ自分の作業をする際にマクロを使用してマクロの痕跡を
残さない成果物を残すなら、指摘を受けることはなく、
その範囲で自分のために作って使うには(もしくはありがたさが
理解できる人から頼まれて作る範囲では)問題がないのでは。

実際に過去の担当者の作成したマクロを使っていると、
なぜこんな処理をしているのかわからず、
(当時の業務要件が残されておらず、マクロだけが
 残っているような場合)
「このマクロで処理するためのデータ整形マクロ」
みたいなものがどんどん増え、本末転倒なことが多いです。
これだったらマクロはいらないから要件と手作業で行った
場合の全工程が残しておいてくれればと思います。

ユーザーID:6931385514
それを独りよがりと言う
alien
2018年8月4日 9:25

>現行システム管理者は[マクロなんて使ってて貴女が急に会社に来れなくなったら誰もその業務が出来なくなる。使うなら関数までにしてください。]という考え方なのです。(でも提案しても「お金がかかるから」と何もしてくれない)

それをこなせる社員がごろごろ転がっている会社ならいざ知らず、その辺の普通の小さな会社だとお荷物でしかないですよ。

トピ主さんは、居場所を間違えたのです。
さっさと転職して、技術がいかせるところで活躍してください!

ユーザーID:2026292742
マクロは個人を助けても、会社を助けるものでは無い。
会社員
2018年8月4日 9:47

一般会社の情報システム部門でシステム開発を担当しています。
担としているシステムのユーザーは5万人ほどおり、マクロも数千は動いていると思います。
そこからの苦労をご紹介します。

結論ですが、
マクロは会社を助けるものではありません。
時に仕事を止めて、障壁となります。

ご存知の通り、
会社業務は、
それぞれの細かい作業が幾つも繋がって成立しています。また、多くの人が関与します。

マクロはその中で動きますが、
マクロ開発者が辞めた場合、業務の流れや社会のルールが変わった場合に、
今まで便利ツールから、仕事を止める障壁として、動きます。

ミスが発生しながらも、時間が掛かりながらも出来ていた仕事が、
マクロにより個人が担当する定型業務から離れてしまうと、
どんな処理をしていたかがわかりづらくなります。
何かしらの変更事項が発生すると、動かない場合が出てきて、
仕事のミス防止/スピードアップのために作ったものが、
修正されるまで仕事が止まるのです。

システム化するということは、
従業員に託されていた定型業務の手順/ルールが、
会社全体の作業手順として体系だって纏められ、
維持管理できる状態にすることです。
この状態でその仕事は個人に頼っていたものから離れます。
(業務マニュアルや業務処理基準などが代表的なものです)

さらに、システム専門部隊が、
大幅に行処理効率やスピードを上げるために
コンピュータ上で、システム化された業務を動くようにします。
(システム操作マニュアルはこれに該当します。)

実際には、
マクロで効率化をしたい仕事を部課内の中で決めた上で、
マクロ開発することで、その存在や役割、価値、マクロ作成担当者の組織内での位置付けが明確になると思います。

個人便利ツールをそのまま拡大すると、
私の会社のようにマクロに支配されてしまいます。

ユーザーID:1669832586
求人には引く手数多…携帯からの書き込み
さすらいパート
2018年8月4日 9:54

パートを探すと「マクロ、アクセス、VBA」の文字が溢れておりますが…。

ここのレスを読む限り「採用側が実状を分かっていない(パソコンに疎い)か、前任者の置き土産に困っているかのどちらか」なのだと理解しました。

マクロは少しだけかじったけど、忘れました。関数も複雑過ぎると次の人が苦労するだろう…と思って簡素化してます。

現在少人数の職場で、60代の上司2人は「パソコンって何でもすぐ出来る!」と思い込んでます。求められている結果に導くための関数をどう当てはめるか、プログラム…にかかる時間は一切考えてません。

前任者の資料は…紙媒体、ワープロ時代の手法が彼方此方に散見してます。独学で学んだらしき関数も「なぜこんなにヤヤコシイ?」状態です。

私の手法も出来る人が見れば「非効率」だと思います。

仕事は「誰かに引き継ぐもの」なので、自分の手法にこだわり過ぎても意味がありません。「何がしたいのか」さえ明確にしておけばいいと思います。

最初に書いたように、パートには結構求められてるスキルなので、無駄ではないですよ。

ユーザーID:8419272912
独りよがりのプログラムは迷惑
フリーランス
2018年8月4日 10:47

マクロ(VBA)を組むことが悪いことではありません。

トピ主さんは、マクロを導入することで、業務がパパっと片付き、時間も短縮と良いこと、メリットばかりに目が向いているのだと思います。

トピ主んさんのプログラミングのスキルはわかりませんが、ご自身でよく勉強されていたので、とても努力家というのはよくわかります。

私は、元SEなので、その立場から言うと、プログラミングは、きれいにソースコードを書いている人もいれば、ソースコードは無茶苦茶だけど、とりあえず動くように書いている人など、いろんな人がいます。

1+1=2
という結果を出すプログラミング1つとってみても、誰が見てもわかりやすいソースコード、改修することも考えて組んでいるソースコード、とりあえず動けばよいと場当たり的に組んでいるソースコード、マニアックに書かれたソースコード、、、いろんなタイプのソースコードがあります。
でも、どのプログラムも動き、間違いはありません。

他の人のレスにもありますように、そのマクロを修正したいとき、トピ主さんがいないとき、誰が手を付けられるのでしょうか?

トピ主さんの上司には、報告・確認をとっていても、その上司は先々のことまで考えていないだけだと思います。
マクロのことも理解していないのでしょう。

ソースを見れるようにしていても、人のプログラムを読むほど面倒なことはありません。

きちんと体系的、ロジック、ソースの書き方など、プログラマーとしての基礎の基礎を学んでいる人、複数人でプログラミングを組んだことがある人なら、どのようなソースコードを書くべきか理解していると思います。(理解していない人も中にもいますが。。。)

現行のシステム管理者が言っている、忠告していることが理解できていない時点で、トピ主さんは独りよがりのプログラムを組んでいるのではないのかと、元SEとして思います。

ユーザーID:1867129608
 
現在位置は
です