多数の取引相手と業務を進める中で、「この担当者、以前やり取り多かったな、どんな内容だったかな?」とよぎることはありませんか。
対応履歴をすぐに確認できれば、業務はきっとスムーズになります。
そこで、会社名や担当を入力するだけで、過去の対応履歴や区分を自動で表示できるExcelマクロを作成します。
データベースの作成
まず、やり取りの履歴となるベータベースを作成しておきます。
シート名は、DBとしておきます。
データベースは後から追加することも可能です。
照合先のエクセルシートの作成
次に、照合先のシートを作成します。
シート名は照合にしておきます。
このシートに入力した会社名と担当がデータベースと一致すれば、区分と過去のやり取りの内容が自動的に表示されるようにします。
マクロの作成
開発からVisualBasicをクリックします。
挿入から標準モデュールを選択。
標準モデュールにマクロを記述します。
Dim 変数名 As データ型
これは、データを入れる箱を用意しています。
この段階では、まだ箱の中は空です。
Set wsDB = Worksheets("DB")
Setによって、DBというワークシートオブジェクトを、wsDBというWorksheet型の変数に代入しています。
For i = 3 To lastRow
1行目と2行目はタイトルと見出しだけであり、実際の会社名や担当は3行目から入力しているため、3行目のデータからチェックを開始しています。
Cells(i, 1)は、3行目から始めるため、まずは3行目1列目のセルの値を示します。
つまりこの後のコードでやっていることは、照合シートのセルB2に入力した会社名がデータベースシートに入力した会社名と一致しているかチェックしています。
またAndでつないでいるため、照合シートのセルB3に入力した担当がデータベースシートの担当と一致するかも同時にチェックしています。
この2つが一致すれば、あらかじめデータベースシートに入力した区分とやりとりの内容が、照合シートのB4、B5セルに表示されます。
逆に一致しなければ、照合シートのセルB4に未登録と表示させています。
実際に動作を確認してみます。
照合シートの会社名、担当欄に、会社名と担当者名を入力。
マクロのボタンを表示させ、クリックします。
そうすると、データベースシートに入力しておいた区分とやりとりの履歴が自動的に表示されます。
対応難な案件のメモを残すだけでなく、業務の気づき等、メモのような役割を担ってくれると思います。
