MENU

顧客管理シート|Excel VBA使用のあいまい抽出可能な無料テンプレートの作り方

Excel VBAを使用し作成した顧客管理シートのテンプレートです、無料でダウンロードできます。

表だけの顧客管理ではなく、VBAで名前・住所・電話であいまい抽出できます。
使用例としては、電話があった場合、電話番号入力で素早く検索でき対応できます。
これまでの会話内容や購入品を記録しておけば、売上UPに大きく繋がります。
作成手順とVBAコードを記載しているので参考にしてください。
作成手順は下記の通りです。

  1. シートに顧客管理表と抽出ワードを入力するセルを作成します。
  2. シートにコマンドボタンを配置します。
  3. コマンドボタンのクリックイベントを入力するVBE画面を表示します。
  4. 抽出ボタンのクリックイベントのVBAを入力します。
  5. 解除ボタンのクリックイベントのVBAを入力します。
  6. デザインモードを終了します。
  7. Excelマクロ有効ブックで保存します。

掲載済みの「時給計算表」も参照してください。


顧客管理シートの作成手順

抽出と解除のコマンドボタンを配置

リボンの[開発]~[デザインモード]~[挿入]から、ActiveXコントロールのコマンドボタンをクリックします。
次にシート上でドラッグし、2つのボタンを作成します。

ActiveXコントロールのコマンドボタンをクリックする

コマンドボタンの表示名を変更します。

  1. コマンドボタンをクリックし選択します。
  2. リボンの[開発]~コントロールグループの[プロパティ]をクリックします。
  3. プロパティ画面が開くので、Captionの「解除」と入力します。

抽出ボタンも同様に変更します。

コマンドボタンの表示名を変更する

コマンドボタンのクリックイベントにVBAを入力

抽出ボタンをダブルクリックします。
すると下のようなVBE画面が開き、クリックイベントが入力できます。

抽出ボタンをダブルクリックする

入力したコードです。
コピーし入力してください。

抽出はAutoFilterメソッドを使用します。
AutoFilterの構文
Range.AutoFilter(Field, Criteria1, Operator, Criteria2, VisibleDropDown)

  • Field:(必須)リストの左側から始まる番号を指定します。この場合「名前」は2になります。
  • Criteria1:(省略可)抽出条件となる文字列を指定します。ここでは「*」を使用したワイルドカードであいまい抽出を行っています。
  • Operator:(省略可)フィルターの種類を指定します。
  • Criteria2:(省略可)2番目の抽出条件となる文字列を指定します。
  • VisibleDropDown:(省略可)Trueでドロップダウン矢印を表示、Falseで表示しません。既定値はTrueです。

VBAの解説

  1. 名前の抽出ワードが入力されているか調べ、入力されていれば変数「sf1」に格納します。
  2. 住所の抽出ワードが入力されているか調べ、入力されていれば変数「sf2」に格納します。
  3. 電話の抽出ワードが入力されているか調べ、入力されていれば変数「sf3」に格納します。
  4. sf1が空でなければ、AutoFilterメソッドを実行し名前を抽出します。
    Fieldは2列目なので「2」、Criteria1はワイルドカードと変数「sf1」を組み合わせています。
  5. sf2が空でなければ、AutoFilterメソッドを実行し住所を抽出します。
    Fieldは7列目なので「7」、Criteria1はワイルドカードと変数「sf2」を組み合わせています。
  6. sf3が空でなければ、AutoFilterメソッドを実行し電話を抽出します。
    Fieldは20列目なので「20」、Criteria1はワイルドカードと変数「sf2」を組み合わせています。
Private Sub CommandButton1_Click()
    Dim sf1 As String
    Dim sf2 As String
    Dim sf3 As String    

    sf1 = “”
    sf2 = “”
    sf3 = “”
    If Range(“D3”) <> “” Then
        sf1 = Range(“D3”)
    End If
    If Range(“D4”) <> “” Then
        sf2 = Range(“D4”)
    End If
    If Range(“D5”) <> “” Then
        sf3 = Range(“D5”)
    End If    

    If sf1 <> “” Then
        Range(“B10:Y1000”).AutoFilter Field:=2, Criteria1:=”=” & sf1 & ““
    End If   

    If sf2 <> “” Then
        Range(“B10:Y1000”).AutoFilter Field:=7, Criteria1:=”=” & sf2 & ““
    End If

    If sf3 <> “” Then
        Range(“B10:Y1000”).AutoFilter Field:=20, Criteria1:=”=” & sf3 & ““
    End If
End Sub

上のコードでCriteria1の「*(アクタリスク)」が消えています。
貼り付け後、追加してください。

AutoFilterメソッドを使用したVBA

同じように解除ボタンのクリックイベントを入力します。

Private Sub CommandButton2_Click()
    Range(“B11”).AutoFilter
End Sub
VBAの解説

リボンの[開発]~コントロールグループの[デザイン モード]をクリックし、デザインモードを終了します。

[デザイン モード]をクリックし終了する

VBAを入力しているので、通常のExcelファイル(XLSX形式)ではVBAが保存できません。
Excelなマクロ有効ブック(XLSM形式)で保存してください。

Excelなマクロ有効ブック(XLSM形式)で保存する

顧客管理シートのテンプレートを無料ダウンロード:A4サイズ

顧客管理シートのテンプレート

顧客管理表
No. 名前 住所 電話番号

名前・住所・電話であいまい抽出方法

上の抽出ワードの名前セルに「田」と入力し、[抽出]ボタンをクリックすると名前に「田」が含まれるデータのみ表示できます。

抽出ワードで抽出した結果

名前・住所・電話の複数項目でも抽出できます。

名前・住所・電話の複数項目で抽出

無料ダウンロード

マクロブックのXLSM形式はセキュリティの関係でそのままでは登録できません。
その為、ZIP形式で圧縮しています、展開し
ダウンロードし使用状況に合わせて、Excelで自由にカスタマイズしご利用ください。

Follow me!