
そんな人種がプログラミングを覚えるとどうなるのでしょうか・・・
自分の価値が高まる
自分の知識が増え、市場価値が上がることが一番です。
それ以外はオマケ程度で考えても良いくらい大きなメリットです。
プログラミングが分かる事務職というだけで結構重宝されます。
企業に勤めていると、勉強しても給料にすぐには反映されないことも多いと思いますが、目先の損得で考えるよりも自分自身の知的資産を増やして将来的にどれだけ価値があるのかを見て考えましょう。

(ただし下っ端に限る)
作業が早くなる
これはマジで早くなります。
一般的な事務職と比較すると作業内容によっては半分以下の時間で終わらせることは良くあることです。
本職以外がコーディングすることに対して否定的な意見は少なくありませんが(他人のクソコードの手直しとか想像しただけで吐き気がするのでお気持ちは察しますが・・・)、別にコーディングしなくても勉強前より早くなります。
Excelについても、VBAを使わず、関数だけの利用でも勉強すると全然早くなります。
作業が早くなる理由
- データの保持方法が上手くなる
- コーナーケースを想定して処理できる(エラー回避ができる)
- 関数への理解が深まる
いくら優れたプログラムでもデータを扱う以上、データの保持方法を最適化しないといけません。
データの保持・出力期待値の想定・コーナーケースの処理が上手くなると業務速度は劇的に向上します。
これはVBAでも関数でも同じです。
実際に私が会社の業務で改善を行う時は、7割くらいはExcel関数とデータ保持の方法の変更とピボットテーブルで対応しています。
VBAを使う時は個人的な作業でこっそり使います。
コーディングすることだけがプログラミングの勉強ではないです。
いわゆるプログラミング的思考というものですが、事務職こそ身に着けるべきだと思っています。
もちろんその勉強の過程でコーディングはすることになると思いますが。

業務システムへの理解が早くなる
「作業が早くなる」と重なる部分も多いですが、業務システムで何ができるかがメニュー画面とインプット項目を見ればおおよそ検討がつくようになります。

画面からデータベース定義を想像すると、実装されている機能がなんとなく想像できるようになります。
システムを使う前に確認すること
- 入力項目に●●がある
- 目的の帳票はありそう
- Excelで集計が楽にできそう
- 入力項目に●●がない
- 目的の帳票はなさそう
- こうすればExcelで集計が楽にできそう
- 外部取込できそう(できなさそう)
- 各データにキーになる項目がある
- ピポットテーブルが使えそう
- 関数が使えそう
- SQLで集計すれば楽そう
- この機能は実装が簡単だからありそう
- この機能は実装が難しいからあったらラッキー
こんな感じのことを確認したりします。(当然、業務知識は前提にあります)
今まで、便利な機能や目的の帳票があるのに使ってない事務職を多く見てきましたが、プログラミングしていると仕様書を見なくてもシステムごとの標準的な機能や流行りの機能はある程度把握できるようになります。

情報システム部門との交渉がはかどる
情報システム部門と交渉する時に次のようなことを考えています。
情報システム部門との交渉
- システムのマスタを変更するだけで対応できそう
- 開発すればすぐに実装できそう
- 開発に時間がかかりそう

これって結構重要で、情報システム部門も「なんで使ってないのかな?言ってくれればすぐにやるのに」という機能と「いや、できるけどそれ開発(管理)が面倒なんだよなー」とか思ってたりします。
「できるけど面倒なんだよなー」もこちらが主導権を握って進めてあげると意外に対応してくれたりします。
情報システム部門のコストと自部門のベネフィットを比較して、お互いの立場を考えて上手い落としどころを提案できるようになるんです。
メチャクチャな依頼をすれば知識を持っていても嫌われますけどね。
結局、プログラミングも魔法ではないので「できること」と「できないこと(できるけど面倒なこと)」があることを理解して話し合いを進めないといけません。

プログラムは魔法じゃないので「なんでも」はできません。
そこを勘違いすると技術屋には嫌われてしまいますよー!