No.3
- 回答日時:
良くありましたけど、少し使うと、もっとこうしたいとか、人間の欲望は見限ですね。
だから無限に改善は続きます。No.6ベストアンサー
- 回答日時:
古い Excel で設計した制御機器のパーツ集計を、VBA で行いました。
VBA を使い前も Excel で表を作成し、ブロックごとに区分けして集計し、最後にトータルを出していたのですが、4~5 千点にも及ぶ数なので、個々の表の作成や集計に 1 週間もかかっていました。余りに面倒だった(笑)ので、VBA の本を買ってきて VLOOKUP を駆使してパーツの原本と部品表をリンクし、ブロックごとの集計作業と、購入部品や在庫部品、別途手配部品、支給部品などに自動的に区分けし、集計して数と購入金額を検証するシステムを作成しました。
1 か月くらいかかりましたが、結果は 1 週間近く掛かっていた集計作業が、当時の遅いパソコンでも 10 分程度、現在の Core i5(4 コア)なら数分で終了しました。後は、各部署に配るだけですので、かなり効率化できましたね。これは、一緒に仕事をしてる同僚にも、Word で取扱説明書を作成して、使えるようにしました。
※一応、ベースになる部品表に間違った書き込みを行った場合は、エラーが表示されるか、最後の集計が合わなくなることで、判るようにしておきましたが、それ程完全ではありません。
時間が短縮できたのもかなりの成果ですが、部品発注の誤りが減った(無くなった)のが非常に大きかったです。元になる部品表自体は、設計しながら作成する必要はありますが、テンプレートのような標準部品表があり、それを編集するだけですので、簡単に作成できます。この時点で誤りが無ければ、後は自動で集計してくれますので、本当に便利でした(笑)。
※発注に関係するので、金額や個数を間違えると悲惨です。各部署に迷惑を掛けます(泣)。
また、印刷フォームを整える VBA もついでに作成し、印刷しても見易くしていましたね。
※当時は印刷物がまだまだ主流でした。
配線材の長さを求める VBA も作って、必要なケーブルも自動で算出できるようにしていました。特殊な仕様の場合は、手作業で長さを決めなくてはならないのですが、それが終了すれば後は自動で長さを算出でき、在庫ケーブルとの差分を発注すれば良いだけでした。
退職した後どうなったのかは判りません。ただ、Excel の古いバージョンに対応した作りになっていたので、新しい Excel のバージョンでは動作しないと思います。これは、VBA で作っているときに判っていたのですが、敢えてそのままにして作成しました。分岐を行って新しいバージョンにも対応できたのですが、面倒だったので省略してしまいました(笑)。一寸心配 ・・・・・
※コメントたっぷりの読みやすいコードにしたつもりですが、他人が作った VBA は読みづらいですから、どこまで対応してもらたのかは不明。もし、使えなくなったら、また地獄に手作業が待っていたはずです(笑)。
とても素晴らしい回答ありがとうございます。
そして何よりもオチが怖いw
逆に言うと、この手の話にとってメンテナンスこそが一番のテーマなのかも知れません。
仮にVBAが動かなくなった場合に、元のやり方が誰も分からなくなっていないか心配ですw
一週間が10分程度になるとは当時も喜ばれたでしょう。自分のは精々30分の作業が3秒くらいになった程度ですが、本来のマニュアルもしっかりと残しておこうと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Accessの代わりのノンプログラムデータベース作成 4 2022/10/21 09:26
- ソフトウェア ノーコードツールで開発を依頼した場合の費用 1 2023/02/03 11:16
- その他(プログラミング・Web制作) プログラミングを勉強してますが、難しくて、中々頭に入りません。 ふと思いましたが、今はサイト作成ツー 12 2022/12/21 19:46
- ソフトウェア データベースのウェブでの自作 2 2023/08/01 10:06
- 作詞・作曲 ボーカロイドの楽曲をyoutubeに公開する際のMV内における2次利用のイラストの著作権について 1 2022/08/26 10:46
- ノートパソコン PCのHDDをSSDに入れ換えるのにAcronis でのクローン作業で困っています。「ツール」→「デ 1 2022/12/16 20:59
- スーパー・コンビニ コンビニエンスストアって便利なの? 9 2022/04/29 18:28
- 英語 会社でのチーム名を考えています 現場部門ですが、事務的な作業もするチームです 例えば業務改善や帳票類 7 2022/09/07 13:50
- Visual Basic(VBA) フレームワーク「4.8.1」で、[Sub Main]が動かない。助けて下さい 3 2022/11/14 15:40
- IT・エンジニアリング SEとWebエンジニアの業務内容の違いについて 3 2023/06/22 23:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
splitを使ってスペース位置で文...
-
上書き保存されない
-
マクロのエラー
-
Java、配列の問題を教えて欲し...
-
VBAで試験結果の集計ツールを作...
-
VBAについて質問。別シートに転...
-
エクセル関数で {=TABLE(,セル...
-
Caps Lockキーの解除
-
エクセルで離れたセルを離れた...
-
Excelでカーソルが逆に動く
-
リース初心者です 利子率の計...
-
オーバレイ機能を解除する方法は?
-
Excelの基本を1週間で覚えたい
-
VBA 条件が一致した場合の...
-
プルダウンで選択すると隣のセ...
-
Excel2010の並べ替えで行の高さ...
-
デリートキーで可能なことはバ...
-
エクセルで関数を一度いれたセ...
-
shiftキーのロック解除をしたい...
-
エクセルで複数の勤務時間ごと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Java、配列の問題を教えて欲し...
-
VBAについて質問。別シートに転...
-
マクロのエラー
-
上書き保存されない
-
splitを使ってスペース位置で文...
-
VBA SubTotalで集計を出そうと...
-
VBAを教えていただきたいです。...
-
JavaScriptでキャッシュクリア...
-
Mathematicaで関数の最大値を求...
-
Caps Lockキーの解除
-
Excel2010の並べ替えで行の高さ...
-
リース初心者です 利子率の計...
-
Excelでカーソルが逆に動く
-
エクセル関数で {=TABLE(,セル...
-
エクセルで離れたセルを離れた...
-
プルダウンで選択すると隣のセ...
-
エクセルで複数の勤務時間ごと...
-
エクセルで作った書類に、パン...
-
60進法で複数セルの足し算、引...
-
VBA 条件が一致した場合の...
おすすめ情報