エクセルの神髄
エクセル顧客管理

ExcelマクロVBAを駆使したカスタマイズ可能なエクセル顧客管理、記事の目次です
最終更新日:2014-11-11

エクセル顧客管理


顧客管理は幅が広く、業種によっても様々です。
まずは、ごく一般的なものを作成していきます。
出来れば、「お客様第一」顧客管理システム に近い物ができれば良いと思います。

お客様第一の実践に必要なツール、ソフトとして、顧客管理システムを作成しました。
ただ、同じソフトを作っても意味がありませんし、エクセルでは無理です。
エクセルならではの関数を駆使し、マクロ(VBA)で補う位が良いでしょう。
(凝った機能を追加していくと、VBA主体になってしまう気もしますが)
また、ユーザーフォームは極力使用しないようにするつもりです。
時々、エクセルでユーザーフォーム主体のソフトを見ることがありますが、
それなら、他のツールを使った方が良いと考えます。

では、どんなソフトにするかを考えましょう。

要件定義


・顧客登録が出来る事(当たり前!)
・顧客を素早く検索でき、かつ、いろいろな条件で検索可能にな事
・売上登録ができること
・請求書が発行できること
・入金処理ができること
・宛名ラベル、葉書が印刷できる事
・登録は、一覧と単票の2通りで登録できる事
・使用する項目は追加・削除・名称変更が可能な事
・完成後に機能追加等のカスタマイズが容易なこと

その他いろいろありますが、徐々に考えていきます。

概要設計(というか、作成する主要な画面一覧)


・顧客マスタ登録
・商品マスタ登録
・その他の共通マスタ
・売上登録
・請求書発行
・入金処理
・宛名ラベル、葉書印刷
・メール送信(エクセル単体では無理かな?)
登録画面は、一覧と単票の2画面になります。


作成過程


  • 第1回.どんなソフトにするか
    では、エクセルで顧客管理を作っていくわけですが、まずは、どんなソフトを作るのかを決めなければいけません、顧客管理は幅が広く、業種によっても様々です、まずは、ごく一般的なものを作成していきます。出来れば、「お客様第一」顧客管理システムに近い物ができれば良いと思います。
  • 第2回.顧客一覧のシートを作成
    エクセルで顧客管理を作ります、顧客管理でメインとなる、顧客一覧のシートを作成しましょう、シート名は、「顧客一覧」で良いでしょう。上2行と、左1列を空けて、セルB3から使い始めましょう。上2行は、後にボタン等を付けて、いろいろ機能追加するときに使います。
  • 第3回.顧客登録のシートを作成、その前にマクロって何?
    エクセルで顧客管理を作ります、シート「顧客一覧」からシート「顧客登録」に項目名も含めて、自動で作成します、また逆に、シート「顧客登録」で入力したデータを、シート「顧客一覧」に登録します。これらは、関数ではできません。そこで、マクロの登場です。
  • 第4回.顧客登録のシートを作成(1)
    さて、いよいよマクロの作成に入ります、まずは、シート「顧客登録」を追加して下さい、中身は何も必要ありません、次に、「VisualBasicEditor」(VBEと略します、今後はVBEとだけ記述します)を起動して下さい。起動方法は前回説明しました。
  • 第5回.顧客登録のシートを作成(2)
    エクセルで顧客管理を作ります、前回の続きです、もう少し使えるマクロにします、前回までですと、「顧客区分」の「リスト」や書式が、「顧客一覧」からコピーされていません。これを追加して、前回までのマクロを再度。太字の部分が、追加した所です。
  • 第6回.ここまでの復習
    エクセルで顧客管理を作ります、ここまで、ハイペースで来ましたので、一旦整理しながら復習します、まず、エクセルのシートの確認です。シート「顧客一覧」シート「項目名」シート「顧客一覧」の「顧客区分」に、「入力規則」の「リスト」を設定します。名前定義 1.シート「項目名」を選択 2.Ctrl+F3を押して下さい。
  • 第7回.本格的なプログラムへ
    エクセルで顧客管理を作ります、前回までのプログラムは、説明の為のコーディングをした部分があります、本格的なプログラムを目指す為に、いろいろ手直ししようと思います。コーディングは好みの部分も大きいのですが、最も気を付けるべき事は、1.可読性 2.保守性 3.処理スピード になるかと思います。
  • 第8回.顧客一覧より顧客データを取得
    エクセルで顧客管理を作ります、これまでの感じはどうでしょうか、本当は、ここまでの全てが理解出来ていれば、もう自分でどんどんプログラムを作れてしまうと思います。つまり、全てが理解出来る人は、このブログを読んだりはしないと言う事です。と言う事は、全ては理解出来ていないからこそ、読まれているのですよね。
  • 第9回.イベントを使ってマクロを起動させる
    エクセルで顧客管理を作ります、前回までで、「顧客一覧」から、「顧客登録」のシートを作成し、「顧客登録」の「顧客番号」で、「顧客一覧」よりデータの取得まで出来ました。しかし、手動でマクロを起動したのでは、面倒ですよね。手っ取り早いのは、フォームコントロールのボタンを付けて、それにマクロを割り当てます。
  • 第10回.コーディングとデバッグ
    エクセルで顧客管理を作ります、前回までで、「顧客一覧」→「顧客登録」、が自動化出来ました、しかも、シート名も自由に変更できます。これだけでも、いろいろ応用範囲があり、結構使えるはずです。「何かの一覧」→「何かの登録」、として自由に使用が可能です。
  • 第11回.顧客登録より顧客一覧へ更新
    エクセルで顧客管理を作ります、プログラム完成へ向けて一気に突き進みましょう、今回は、「顧客登録」で入力した内容を、「顧客一覧」へ更新します。「顧客番号」が存在しない場合は、最終行の次へ、存在する場合は、その行へ更新します。その前に、まずSubモジュール「顧客一覧より取得」を少し修正します。
  • 第12回.最終行の判定、Rangeオブジェクトと配列、高速化の為に
    エクセルで顧客管理を作ります、前回までで、だいぶそれらしくなってきました、今回は、前回の「最終行の判定」に問題があったので、その修正をします。最終行の判定 前回は、モジュール「顧客一覧へ登録」において、.Cells.SpecialCells(xlLastCell).End(xlUp).Row と Cells(Rows.Count,
  • 第13回.コントロールのボタンを配置
    エクセルで顧客管理を作ります、前回は、話が難しかったかもしれません、今回は簡単です、コントロールのボタンを配置して、マクロを割り当てます。「顧客一覧」から、新規登録する為に、「顧客登録」のシートへ移動する為に使用します。直接シート選択すれば良さそうですが、最終的には、シート名は非表示にすることになりますので。
  • 第14回.オブジェクトとプロパティの真実(GW特別号No1)
    エクセルで顧客管理を作ろう、今回は、ゴールデンウイークでもあり、説明漏れの部分について、詳細な説明をすることにします。(ゴールデンウイークと関係ないのでは、と突っ込まないで) オブジェクトとプロパティについて、もう少し詳しい解説をします。対象は、VBA中級以上になると思いますが、初級の方でも、VBAって奥が深いんだなーと感動位は出来ると思います。
  • 第15回.記述による処理速度の違い(GW特別号No2)
    エクセルで顧客管理を作ろう、ゴールデンウイーク特別号No2です、今回は、記述の違いで、どの程度処理速度に変化があるかを検証します。テストは以下の4点です。1.変数の型指定 2.罫線の引き方 3.行高の変更 4.配列を使用した処理 この4点について、実測して検証してみました。
  • 第16回.処理速度の向上はどこまでやれば良い(GW特別号No3)
    エクセルで顧客管理を作ろう、ゴールデンウイーク特別号No3です、前回の「記述による処理速度の違い」が好評(本当に?)のようでしたので、再度、処理速度に関する内容をお届けします。実際に、作成中の顧客管理で処理速度対策を施してみます。具体的にどの処理を対策するかですが、以前から気になっていたのですが、「顧客一覧」でF1を押して、
  • 第17回.商品マスタを作成、2段階の可変リスト
    エクセルで顧客管理を作ろう、GW特別号が続いたので、そろそろ本題のソフト作成を進めましょう。でも、技術解説していた方が楽しい気もしますが… これからも時々、やることにします。どうしても、ソフト作成の説明では、VBAそのものの解説がおろそかになってしまうので、それを補完する形で、特集で技術解説をしようと思います。
  • 第18回.納品書を作成、顧客情報を取得(1)
    エクセルで顧客管理を作成します、前回までで、顧客マスタ、商品マスタができましたので、いよいよ、売上関係の作成に入ります。呼び名は、売上伝票や納品伝票等々になりますが、名前は自由に変更可能なので、今回は「納品書」にしました。マイクロソフトテンプレートで直ぐにみつかったので(笑) 迷わず先頭のテンプレートをダウンロードしたら…ちょっと使いづらいかな?どうかな…
  • 第19回.納品書を作成、顧客情報を取得(2)
    エクセルで顧客管理を作成します、前回の続きです、再度、エクセルのサンプルです、実際のエクセルを見ながら確認して下さい。まず、シート「納品書」です。今回は、シート上部の、コンボボックスの機能説明になります。
  • 第20回.納品書を作成、顧客情報を取得(3)
    エクセルで顧客管理を作成します、とうとう、20回まできました、では、前回の続き、3部作の最終です。再度、エクセルのサンプルです。実際のエクセルを見ながら確認して下さい。まず、シート「納品書」です。今回は、シート上部の、ボタンの機能説明になります。
  • 第21回.イベント処理について
    エクセルで顧客管理を作ります、前回で20回を達成しました、気張らず、気負わず、気を抜かず、これからも続けて行きます。今回は、特に前3回が駆け足で、説明不足であった事もあり、補足しつつ復習しましょう。その中でも、おそらく初心者が特に分かりづらいと思われるイベントについて説明します。
  • 第22回.コントールについて
    エクセルで顧客管理を作ります、今回は、コントロールについての、補足と復習です、マクロを作っても、起動方法がマクロの一覧からでは、ちょっと淋しいです。また、色々なコントロールを使えるようになれば、出来る事が増えてきます。まずは、この違いから。
  • 第23回.納品書を作成、商品情報を取得(1)
    エクセルで顧客管理を作ります、前回までで、「顧客番号」で、「顧客一覧」より情報取得が出来ました、今回は、明細部の「商品番号」で「商品マスタ」より情報取得します。今度は、複数行ですので、さらに難しくなります。本来なら、顧客番号で作成した、コードの使い回しをしたいところですが、別の方法にします。
  • 第24回.納品書を作成、商品情報を取得(2)
    エクセルで顧客管理を作ります、前回、、明細部の「商品番号」で「商品マスタ」より情報を取得しました、このコードを使って、「顧客番号」で「顧客一覧」より情報取得する部分を変更します。変更箇所は限定的です。コードの使い回しの参考にして下さい。
  • 第25回.納品書を作成、商品情報を取得(3)
    エクセルで顧客管理を作ろう、前回までで、「商品番号」で「商品マスタ」より情報を取得が一応できました、しかし、「顧客番号」で「顧客一覧」より情報取得の時のように、一覧を検索して、そこで選択した情報を取得するようにはなっていません。今回は、商品情報を取得3部作の最終です。
  • 第26回.WorksheetFunctionについて
    エクセルで顧客管理を作ります、今回は、予告通り、期待を裏切らずに、誰も期待してないかもしれないけど(笑)、やります…WorksheetFunctionについてです。VBAをやれば、必ず使用することになるでしょう。と言いますか、これを使わないと、エクセルの意味がなくなっちゃいますので。
  • 第27回.RangeとCellsの深遠
    エクセルで顧客管理を作ろう、現在の進捗は、どうでしょう、1/4、25%位でしょうか、そうすると、100回超になってしまいますね。そうか、ちょうど100回を目指して行けば良いのかもしれない。今回は、今までの総復習をしようかとおもったのですが… 止めました、それなら、第1回から読みなおしてもらえればよいのですから。
  • 第28回.納品書データをデータベース化(1)
    エクセルで顧客管理を作ろう、さーて、プログラム作成を進めます、シート「納品書」で入力した内容を、データベース化します。今回は、その前段作業を行います。シート「納品書」に名前定義を追加します。もう既に、多くの名前定義をしましたので、何が何やらわからなくなってしまっています。
  • 第29回.納品書データをデータベース化(2)
    エクセルで顧客管理を作ろう、前回の続きです、シート「納品書」で入力した内容を、データベース化します。前回作業で、「売上明細」の開始セルに名前定義を忘れていました。A3セルに「売上明細_開始」と名前定義してあります。
  • 第30回.配列の使い方について
    エクセルで顧客管理を作ろう、前回で、「売上明細」を作成しました、一部漏れもあったようで、消費税や総額が保存されていませんでした、作成方法は同じなので、名前定義の追加、VBAへの追記を同様にすれば良いでしょう。これから、「売上一覧」(伝票毎の合計一覧)を作成するのですが、プログラムを作成してみたところ、
  • 第31回.売上一覧(伝票合計の一覧)を作成(1)
    エクセルで顧客管理を作ろう、作成された、「売上明細」より、伝票合計の一覧を作成します、いろいろなやり方が考えられます、まずは、配列を使用せずに、エクセルの機能を使用してやってみます。どの程度のパフォーマンスが得られるかの実験です。次回は、配列を使っての処理をやります。
  • 第32回.売上一覧(伝票合計の一覧)を作成(2)
    エクセルで顧客管理を作ろう、作成された、「売上明細」より、伝票合計の一覧を作成します、前回に引き続き、3パターン目のやり方になります。今回のプログラムは難読ですよ。配列をいじくりまわしています。(笑) 先に、エクセルのサンプルをアップします。
  • 第33回.売上一覧より納品書を作成
    エクセルで顧客管理を作ろう、今回は、「売上一覧」で、行を選択し、F1押下で、該当の「納品書」を表示します。前回までですと、「納品書」は新規作成だけになっていましたので、これで、修正が可能になります。先に、エクセルのサンプルをアップします。
  • 第34回.伝票番号の自動採番機能を追加
    エクセルで顧客管理を作ろう、前回までで「納品書」がほぼ完成しました、概ね良さそうですが、伝票番号が直接入力しなければなりません。別途に番号管理したのでは、なんだかなー…となってしまいます。そこで、自動採番の機能を追加します。
  • 第35回.メニューを作成
    エクセルで顧客管理を作ろう、エクセルも大分出来てきましたので、シート見出しを頼りに移動しているのは不便です、今回はメニューを作成します。以下が作成したメニューです。いろいろ、機能が増えていますが、プログラムは「納品書」とほぼ同様です。
  • 第36回.最終回
    エクセルで顧客管理を作ろう、今回で36回になりました、長い間お読み頂き感謝いたします、今回で、このシリーズは最終回といたします。本記事の最後で、現在のエクセルをダウンロードできます。当初の予定では、宛名や同報メールの機能も入れる予定でしたが、断念しました。
  • その後№1、CSV出力を追加
    エクセルで顧客管理を作ろう、一旦終了しましたが、その後に機能追加していることについて、有益な部分をここで紹介します、説明は簡潔にしています、おそらくこれを読む人は、それなりにVBAをしっている方だとの判断です。今回はCSVの出力です。2通りの方法を紹介します。
  • その後№2、ベクター掲載
    エクセルで顧客管理を作ろう、ここで作成したエクセルに、さらに機能追加しベクターに掲載しました。機能一覧 顧客登録 顧客一覧 商品マスタ 分類マスタ 納品書 売上一覧 請求書 請求書一覧 事跡登録 事跡一覧 メール送信 メール履歴 一覧にはCSV出力 ベクターへのリンク 「エクセル顧客管理」説明ページ:http://www.vector.co.jp/sof…



新着記事NEW ・・・新着記事一覧を見る

CSVの読み込み方法(ジャグ配列)(改)|VBAサンプル集(11月11日)
VBAでのCSVの扱い方まとめ|VBAサンプル集(11月9日)
VBAにおける変数のメモリアドレスについて|VBA技術解説(11月8日)
空文字列の扱い方と処理速度について(""とvbNullString)|VBA技術解説(1月7日)
Errオブジェクトとユーザー定義エラー|VBA入門(11月5日)
シングルクォートの削除とコピー(PrefixCharacter)|VBA技術解説(11月4日)
ユーザー定義型の制限とクラスとの使い分け|VBA技術解説(11月3日)
クリップボードに2次元配列を作成してシートに貼り付ける|VBA技術解説(11月1日)
VBAクラスを使ったイベント作成(Event,RaiseEvent,WithEvents)|VBA技術解説(10月31日)
VBAクラスのAttributeについて(既定メンバーとFor Each)|VBA技術解説(10月19日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数宣言のDimとデータ型|ExcelマクロVBA入門
6.繰り返し処理(For Next)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.ひらがな⇔カタカナの変換|エクセル基本操作
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.セルに文字を入れるとは(Range,Value)|VBA入門



  • >
  • >
  • エクセル顧客管理

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。




    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
    本文下部へ