VBAでプログラミングして困ったこと!作業が自動化されてブラックボックス!

みなさん、おはようございます、こんにちは、こんばんは。

まだ転職できない52歳社内SEのおぐです。

VBAを使ったプログラム開発を得意としています。

元はVBでプログラムを組んでいたのですが、ERPの導入でシステムコンサルをするようになってからは、言語を使ったプログラミングではなく、EXCELやACCESSなどのアプリを使ったツール開発が多くなりました。

しかし、VBAで開発をしていて困ることがあります。

社内SEとしてVBAでプログラミングしていて困ったことをご紹介します。

 

スポンサーリンク

VBAでプログラミングして困ったこと

戦略

VBAのソースプログラムにはバージョン管理という概念がありません。

エクセルファイルなり、アクセスのDBファイルにデータと一緒にプログラムも保管されています。

そのため、簡単にコピーできます。

簡単にコピーできるのは良いのですが、ファイル毎にプログラムが組み込まれているので、個別にメンテナンスが必要になってきます。

私が遭遇した事例としては、元は同じプログラムだったのですが、営業所別に必要な機能が追加されていったため、共通で変更が必要になっても、個別に対応しなければいけなくなりました。

また、同じ営業所内でも、顧客別に必要な機能が追加されていったため、個別に変更が必要になりました。

個別に変更していると、デグレが起こったり、共通機能に組み込んだアップデートでエラーが発生したりします。

VBAでもバージョン管理の方法はあると思いますが、データとプログラムが1つのファイルになっているのが特徴なのに、それを分けないといけなくなります。

もしくは、データ移行を前提とした作りにすると良いかも知れませんね。

 

ソフトのバージョンアップに対応

マニュアル

私が良く使っていたマイクロソフトオフィスのバージョンは2003です。

つい半年前まで使っていました。

財布の紐が固い会社なので10年以上、バージョンアップしてくれませんでした。

OSはWindows10なのに、エクセルは2003でxlsファイルを使い続けていました。

それが、一気に2019になったので、違うソフトウェアを使っている感覚です。

そもそも、保存ファイルの拡張子が「xls」から「xlsx」に変更されています。

メニューも全く違うので、いつもの操作ができずに困っています。

エクセルはまだ良いのですのが、アクセスは最悪です。

全く違うソフトウェアになってしまいました。

2003のファイルをコンバージョンして使えるので、まだ良いですが、次のバージョンでも使えるか気が気ではありません。

定期的なバージョンアップ対応は必要ですね。

リクナビNEXTに登録して社内SEの求人情報を確認する

 

VBAアプリで業務を自動化

先に困ったことばかり書いてしまいましたが、普段から業務でよく利用するエクセルなので、VBAを使うことで自動化が進んでいます。

私が携わった事例で多いのは、取引先別の提出書類ですね。

取引先から納品書や請求書のフォーマットを指定される事があります。

基幹システムからCSV形式でデータを出力して、取引先指定のフォーマットに取り込む用にしていますが、ここでVBAを使っています。

取引先別とはいえ、定型業務なのでVBAで処理を作ってしまえば、後は同じ処理の繰り返しです。

ちょっとした省力化ですが、塵も積もれば山となります。

ただし、自動化しすぎてしまうと、ここでも弊害が出てきます。

 

作業のブラックボックス化

まさかと思ったのですが、業務の引継ぎで作業がブラックボックス化されていたようです。

VBAで自動化されているので、元の処理を知らない担当者が増えてしまいました。

引継ぎの時に、元の処理を伝えていると思っていたのですが、違ったようです。

計算結果が間違っていても、気が付かずに取引先に提出し続けていました。

印刷された状態だと、間違っていても、それっぽく見えるんですよね。

ここでめぐり逢えたみなさんにお願いです!

このブログは人気ブログランキングに参加しています。

応援してもらえると、とても喜んでもっと良い記事を書きますので、下のバナーをクリックしてください!


スポンサーリンク
おすすめの記事