https://drive.google.com/file/d/1jGHVJkhw3g-m7MhoB2mCxj0cJQw9qNo2/view?usp=sharing
【使用ツール】
- プラットフォーム: Microsoft Excel (VBA)
- 実装技術: Excel VBA(帳票作成、イベント制御、Web API処理の最適化)
【課題(Before)】
店頭での地金買取業務において、買取率(掛率)の変動や複数品目の管理が複雑で、以下の課題が発生していました。
- 計算ミスリスク: 複数品目(金、プラチナ、メレなど)の重さや単価を計算した後、手動で内訳書に転記する際にミスが起こりやすい。
- 作業の非効率: 買取率を調整するたびに、全ての計算と内訳書のレイアウトを再確認する必要があった。
- 情報鮮度: 外部の価格情報(田中貴金属)が頻繁に更新されるため、情報収集に手間がかかる。
【解決策(Solution)】
既存のExcelシートに以下の3つのロジックを実装し、「現場担当者が計算と帳票作成に時間をかけない」ためのシステムを構築しました。
- ワンクリック帳票作成: 入力された重さに基づき、合計金額が出た品目だけを自動抽出し、印刷可能な「内訳書」に自動転記するマクロを実装。
- 直感的なUI制御: 「+1%」「-1%」ボタンを設け、買取率を瞬時に調整できるようにしました。調整結果は、計算部と内訳書の両方にリアルタイムで自動反映します。
- 相場更新の最適化: 既存のWeb価格取得マクロを解析し、頻繁な更新(30分ごと)を廃止。業務に必要な「朝10時」と「午後3時」の2回のみに自動更新されるよう、タイマースケジュールを最適化しました。
【工夫点】
- 操作性の追求とロジックの堅牢性
- 買取率を±1%刻みで直感的に調整できる「+/-ボタン」を実装 。
- 「メレ品目だけ下段に配置」といった業務上の例外的なルールも、VBAのソートロジックで正確に実現 。
- 自動更新の最適化と防御壁の構築
- 外部の価格情報更新マクロのタイマーを、業務に必要な**「朝10時/午後3時」の2回のみ**に修正し、システム負荷を最適化 。
- エラーハンドリングの徹底: Webサイトのダウンなど、予期せぬエラーが発生してもシステムが暴走せず、ユーザーにわかりやすく通知する**「防御壁」**を構築し、安定稼働を保証。