エクセル顧客管理
第36回.最終回

Excelマクロを駆使したカスタマイズ可能なエクセル顧客管理、エクセルVBAの学習教材
最終更新日: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コードはパスワード保護します。



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

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

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


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






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

納品書データをデータベース化(1)
納品書データをデータベース化(2)
配列の使い方について
売上一覧(伝票合計の一覧)を作成(1)
売上一覧(伝票合計の一覧)を作成(2)
売上一覧より納品書を作成
伝票番号の自動採番機能を追加
メニューを作成
最終回
その後1、CSV出力を追加
その後2、ベクター掲載

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

「VBAによる解析シリーズその2 カッコ」をやってみた|エクセル(5月21日)
VBA+SeleniumBasicで検索順位チェッカー作成|VBA技術解説(5月18日)
テーブル操作のVBAコード(ListObject)|VBA入門(5月12日)
テーブル操作の概要(ListObject)|VBA入門(5月12日)
VBAのスクレイピングを簡単楽にしてくれるSelenium|VBA技術解説(5月6日)
Excelワークシート関数一覧(2010以降)|VBAリファレンス(4月22日)
クラスとCallByNameとポリモーフィズム(多態性)|VBA技術解説(4月6日)
VBAでのタイマー処理(SetTimer,OnTime)|VBA技術解説(4月3日)
クラスとイベントとマルチプロセス並列処理|VBA技術解説(4月2日)
エクセルの日付と時刻のまとめ|エクセル関数超技(3月6日)

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

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



  • >
  • >
  • >
  • 最終回

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


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






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

    本文下部へ