エクセル顧客管理
最終回

Excelマクロを駆使したカスタマイズ可能なエクセル顧客管理、エクセルVBAの学習教材
公開日:2013年5月以前 最終更新日:2014-11-11

第36回.最終回


エクセルで顧客管理を作ろう、


今回で36回になりました、


長い間お読み頂き感謝いたします、


今回で、このシリーズは最終回といたします。


本記事の最後で、現在のエクセルをダウンロードできます。



当初の予定では、宛名や同報メールの機能も入れる予定でしたが、断念しました。


VBAコードが長く複雑になってしまい、ブログでの解説に向かないと判断いたします。



宛名について


フリーの良いソフトが多数あり、大抵はCSV取り込みがサポートされています。


これらを活用するのが現実的には最も良い方法でしょう。


CSVの出力をマクロで自動化すれば良いです。


これは、極めて簡単ですので、チャレンジして下さい。


複数レイアウト(葉書、封筒、ラベル等)の位置調整等はかなり大変です。


ただし、簡単にやるなら、VLOOKUPだけでもできますので、作ってみるのも良いでしょう。



同報メールについて


BASP21という、メールの送受信や、HTTP・FTPなどの機能を提供してくれるDLLがあります。


フリーソフトですが、素晴らしいDLLとの評判です。(私は使用した事がありません)


BASP21のページ


エクセルでは、これを使用するのが最良だと判断します。


ネットにいろいろ情報がでていますので、興味のある方は調べてみると良いでしょう。


ただし、認証方法等についての知識が無い方は、かなり苦労する事になります。


例えば、「POP befor SMTP」←これが何か理解できない人は、まずはそれらの知識を。


この後、機能追加しようかと考えていますが、


私も使用した事がありませんので、ネットで情報を集める必要があります。



最後に1つ解説をします。


シートの指定方法についてです。


本ソフトではシート名の変更に自動対応させる為に、関数を使用した方法を使いました。


しかし、簡単には、Public Constで、シート名を指定する方法が簡単です。


シート名を変更した場合は、このConstを変更するだけで対応できます。


また、シートのオブジェクト名を使用する方法も考えられますが、シートコピーに対応できません。


以下、シートの指定方法です。


プロジェクトウインドウで先頭シートが、Sheet1(Sheet1)、となっている場合です。


変数vにA1セルを入れる場合、


1.v = Worksheets("Sheet1").Cells(1, 1)

2.v = Worksheets(1).Cells(1, 1)

3.v = Sheet1.Cells(1, 1)

上記3通りの指定方法があります。


100万回のテストでは、

1.15秒

2.13.75秒

3.7秒


コレクションやオブジェクトについて理解していれば、この結果は事前に想像できます。

1.と2.では、コレクションのインデックスを指定した方が早いのは明確です。

3.はコレクションを参照せず、直接オブジェクトを指定しています。

「オブジェクト ブラウザ」には、Sheet1が表示されているのです。


1.はシート名を変更した場合、コンパイルエラーにはなりません、実行時にエラーになります。

2.はシートの順番を変更した場合、実行時に他シートを参照してしまいます。

3.はシートをコピー後に、元を削除、新シートを元の名前にした場合、コンパイルエラーになります。


やはり、Public Constで、シート名を指定する方法が簡単確実です。



現在のエクセルは、以下で、ダウンロードできます。


ダウンロード

ダウンロード用の別サイトが表示されます。

(ベクターに掲載した時点で、ダウンロードは停止します。いつになるかは未定です。)


自由に改造し、自由にお使い下さい。


ただし、販売目的での再配布はご遠慮下さい。


また、あまりテストはしていませんので、バグもあると思われます。


ブログで解説した時点のモジュールからは、かなり修正し、バグも減らしています。


しかし、実務で使用したい場合は、事前にテストをしっかりお願い致します。

(本ソフトウェアの使用によるあらゆる損害に、作者は一切の責任を負いません。)


その時の修正方法等の相談は、無料で受け付けします。


本ソフトは、もう少し機能追加し、さらにテストを行った上で、ベクターに掲載する予定です。


その時は、本ブログでご案内いたします。


ただし、ベクターでは、VBAコードはパスワード保護します。



今回のシリーズはこれで終了します。

次回シリーズを現在考え中です。

もう少し、初心者向けが良いのではないかと考えています。


では、次回シリーズにご期待下さい。





同じテーマ「エクセル顧客管理」の記事

第28回.納品書データをデータベース化(1)

エクセルで顧客管理を作ろう、さーて、プログラム作成を進めます、シート「納品書」で入力した内容を、データベース化します。今回は、その前段作業を行います。シート「納品書」に名前定義を追加します。もう既に、多くの名前定義をしましたので、何が何やらわからなくなってしまっています。
第29回.納品書データをデータベース化(2)
エクセルで顧客管理を作ろう、前回の続きです、シート「納品書」で入力した内容を、データベース化します。前回作業で、「売上明細」の開始セルに名前定義を忘れていました。A3セルに「売上明細_開始」と名前定義してあります。
第30回.配列の使い方について
エクセルで顧客管理を作ろう、前回で、「売上明細」を作成しました、一部漏れもあったようで、消費税や総額が保存されていませんでした、作成方法は同じなので、名前定義の追加、VBAへの追記を同様にすれば良いでしょう。これから、「売上一覧」(伝票毎の合計一覧)を作成するのですが、プログラムを作成してみたところ、
第31回.売上一覧(伝票合計の一覧)を作成(1)
エクセルで顧客管理を作ろう、作成された、「売上明細」より、伝票合計の一覧を作成します、いろいろなやり方が考えられます、まずは、配列を使用せずに、エクセルの機能を使用してやってみます。どの程度のパフォーマンスが得られるかの実験です。次回は、配列を使っての処理をやります。
第32回.売上一覧(伝票合計の一覧)を作成(2)
エクセルで顧客管理を作ろう、作成された、「売上明細」より、伝票合計の一覧を作成します、前回に引き続き、3パターン目のやり方になります。今回のプログラムは難読ですよ。配列をいじくりまわしています。(笑) 先に、エクセルのサンプルをアップします。
第33回.売上一覧より納品書を作成
エクセルで顧客管理を作ろう、今回は、「売上一覧」で、行を選択し、F1押下で、該当の「納品書」を表示します。前回までですと、「納品書」は新規作成だけになっていましたので、これで、修正が可能になります。先に、エクセルのサンプルをアップします。
第34回.伝票番号の自動採番機能を追加
エクセルで顧客管理を作ろう、前回までで「納品書」がほぼ完成しました、概ね良さそうですが、伝票番号が直接入力しなければなりません。別途に番号管理したのでは、なんだかなー…となってしまいます。そこで、自動採番の機能を追加します。
第35回.メニューを作成
エクセルで顧客管理を作ろう、エクセルも大分出来てきましたので、シート見出しを頼りに移動しているのは不便です、今回はメニューを作成します。以下が作成したメニューです。いろいろ、機能が増えていますが、プログラムは「納品書」とほぼ同様です。
第36回.最終回
その後№1、CSV出力を追加
エクセルで顧客管理を作ろう、一旦終了しましたが、その後に機能追加していることについて、有益な部分をここで紹介します、説明は簡潔にしています、おそらくこれを読む人は、それなりにVBAをしっている方だとの判断です。今回はCSVの出力です。2通りの方法を紹介します。
その後№2、ベクター掲載
エクセルで顧客管理を作ろう、ここで作成したエクセルに、さらに機能追加しベクターに掲載しました。機能一覧 顧客登録 顧客一覧 商品マスタ 分類マスタ 納品書 売上一覧 請求書 請求書一覧 事跡登録 事跡一覧 メール送信 メール履歴 一覧にはCSV出力 ベクターへのリンク 「エクセル顧客管理」説明ページ:http://…


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

エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.ひらがな⇔カタカナの変換|エクセル基本操作




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


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


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