顧客管理で下記のようなことがしたいと思っています。
マクロ初心者なのですが、こういったことは可能でしょうか。

(1)事前に、顧客管理のデータ入力用ファイル(以下データファイル)、A、B、C、D、Eという定型ファイルを作成しておく。A~Eには、全て複数のシートが入っており、シート1にデータファイルに入力した情報が飛ぶようにしたい。

(2)データファイルに顧客情報「あ」を入力し、シート上に作成しておいたAという名のマクロボタンを押すと、Aのファイルのシート1に「あ」という情報が飛び、さらに、Aファイルは原本なので、“「あ」A”という名前の新しいファイルを作成できるようにしたい。

(3)同じように、データファイルに顧客情報「い」を入力して、今度はBというボタンを押したら、Bファイルのシート1に「い」という情報が飛び、“「い」B”という名前のファイルが新しく作成できるようにしたい。

非常にわかりにくい説明で申し訳ないのですが、これから自分でマクロやVBEを勉強しようと思っており、実際こういったことが可能なのかどうか、ご教示頂けますと幸甚です。何卒よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

bell_rinkaさんと同じく、エクセル・VBAを独学で学んだ人です。


可能か不可能かでいえば可能だと思います。が、オススメは出来ません。
ブックを分けて、さらに全てのブックに共通した作業内容を作り出すだけで、
多大な時間と労力が必要です。自身でuserformを作り、入力した内容を表記する為のプログラムも、適用場所の指定もしなければならないし、大変すぎます。
どんな顧客情報を管理したいのか具体的に分かりませんが、エクセルの範囲を超えたものについては、ファイルメーカーなどのビジネスソフトの使い方を覚えて扱った方が、余程効率のいい管理と、行き届いた管理が可能と思います。
汎用性も余程高いと思います。
VBAは所詮、時間のかかる繰り返しの作業を省略したい時に使うマクロの延長、
後から「あれも欲しい、これも必要だ」となった時に、根っこからまた修正を加えなければいけないので、可能不可能よりもやらないほうがいいです。
エクセルで管理出来そうな情報はエクセルで、複雑なシステムはビジネスソフトで、使い分けをしないと、ゆくゆく大きな反省を抱えますよ。
    • good
    • 0
この回答へのお礼

ご回答いただきまして、どうもありがとうございました。

独学で学ばれた方のご意見は何だか説得力がある気がします(^_^;)
頑張った結果、後から反省することになりそうですね。皆さまからのアドバイスのように、アクセスなどでどんなことができるのかをまずは調べてみようと思います。

今しばらくは自分の知識でできそうな形で、現状を改善したいと思います。どうもありがとうございました!

お礼日時:2009/05/24 21:58

エクセルしか知らず、エクセルばっかりに期待しているのではないですか。


エクセルはブックを分けると、後の処理(合計、検索など)が大変なことを知らないのだとおもう。
データが入力終了後の後の処理は何も書いて無いので、適否ははっきりいえないが。このアイデアは質問者の我流で、良いものとは思えません。
ーー
むしろ、変にエクセルにかこつけて(路線を決めて)、中途半端に具体的に質問で説明しているが、そうしないで、こういうデータを集めて、蓄積後こういう役に立てたい、と言う風に質問で聞くほうがよいと思う。
この質問は後の利用について説明していない。社内では今までから懸案で常識なのでしょうが、読者にはわからない。そもそもそれらの利用目的に応じてシステムを組むのは当たり前でしょう。
マクロ初心者でも有るが、エクセルの利用経験も浅く、システム創設の未経験者ではないですか。
顧客ごとにファイルを持つなんて。
顧客単位の情報はデータベース(アクセスなど)では、レコードと言う単位で持つのが普通。そしてファイル間の連携が出来るところのデータベースソフトが必要と思う。
ーー
どういう理由でA,B,C,Dというテンプレートのようなものがいるのか。
顧客情報をA-D別に分類し、一顧客一シートに情報を作るらしい。
こんな設計も普通しません。
質問の表現も判りにくい。
>自分でマクロやVBEを勉強しようと思っており
やるならアクセス(VBA)の方がましとおもう。
ーー
VBAにしろ、すぐ横で教えてもらえる環境に無いと、習得や仕事に使うレベルになるには難しいと思う。特に同じ部の他人に使ってもらうなどのレベルに作るとなると、さらに設計上、気を使うべきなので難しい。
あと障害対策や回復、セキュリティなど、単なプログラムコードだけでない、大切な面がある。そんなのは>マクロやVBEを、で頭がいっぱいで、吹っ飛んでいるのでは。
だから、こういうのは出来合いの顧客管理ソフトを使えるか検討し購入するか、業者に金を出してやってもらうものと思う。また周りの上司など同意が有るのかな。あるいは部下にやれと言っているだけかな。
実際ここでマクロやVBEをの質問を回答をしている人も、自力でシステムを組んでいる人も、過去にシステム関連の職場(ある程度の長期の訓練の場)にいたのではないかと思う。それぐらいプログラムは生易しくない。例外的に習得が早い人も居るようだが、知識の組み立て方・整理の仕方、文章の書き方、発想の仕方が天才的な人だと思う。
エクセルVBAにメソッド・プロパティというものがあり、VBなどプログラムのベテランでも、付け足して知らなければならないものが、解説書約1000ページ分も有る。
    • good
    • 0
この回答へのお礼

ご回答いただきまして、どうもありがとうございました。
なんだか甘い質問をしてしまったようで、大変失礼致しました。

エクセルを使いたかった理由は、他の便利なツールを知らないということと、既存の書式の大半がエクセルで、少しワード、という感じなので、エクセルで統一できたら、と思ったからです。

色々と想定して書いて下さってありがとうございました。ご説明不足で申し訳なかったのですが、小さな個人事務所に最近入りまして、基本的に事務職の私と上司しか使わないのですが、現在のやり方は、顧客ごとにフォルダがあって、さらにそのフォルダを開くとたくさんのエクセルとワードが並んでいて、そのエクセルには全て顧客名を入力する為、毎回、毎回誰かの分を加工して、毎回名前を変えて…としているので、Aという分類の顧客に必要な書式を1つのエクセルファイルに統合し、例えばそのファイルのシート1に、一度名前を入力すれば、シート2、シート3と飛ばせるので、何度も名前を入力したり、直したりする必要がなくなるな、と思ったのです。

もうちょっと具体例で書きますと、Aと分類された顧客に必要な書式が(1)請求書(2)計算書(3)領収書、だとしたら、今は「あ」という名前の顧客フォルダの中に、「あ」請求書、「あ」計算書、「あ」領収書、というエクセルファイルが並んでいるのです。私が考えたのは、だったら、「あ」Aというエクセルファイルの中の、シート1に基本データを入力し、シート2に請求書、シート3に計算書、シート4に領収書という形にすれば、顧客名の入力はシート1だけで済む、と思った訳です。

さらに、顧客の一覧がないので、顧客のデータを入力するファイルを別途作成し、そこからAと押したら、Aという書式のファイル(その中には、基本データシート、請求書シート、計算書シート、領収書シートがある)とうまくリンクしてくれたら、かなり楽になるな、と思ったのです。実際には分類Aに必要な書式が20ファイル近くあったりすると、私は1顧客ごとに20のファイルを加工し、20回もその顧客の名前を入力することになるので、現状を変えたいと思っているのです。

多少具体的に書いたつもりなのですが、まだわかりにくいですよね…すいません。。。まずは、今の自分の知識でできそうなやり方から実行していきたいと思います。どうもありがとうございました!

お礼日時:2009/05/24 21:52

VBA で出来ると思いますが、これから学ぶのであれば、VBA では無く アクセスや、ファイルメーカー等の、データベースを学ばれる事をお勧めします。



顧客データベースをイメージした場合、
入力フォームに必要事項を記載し、後は「あいうえお」順に並べ替えしたり、特定の人を検索、抽出し郵送用のラベルを作成する、メールを送信する等をイメージしているのであれば、エクセルでは無くデータベースの方が便利です。

もし、今イメージされいる事をエクセルで VBA を駆使して作成した場合、A ~ Z までのファイルが作成され、個々のファイルにシート頃に複数のユーザが記録されると思いますが、該当のユーザーはどのようにして探し出すのでしょうか?またエクセルのシートは無制限に作成出来る訳でありません、その点はどのようにクリアーしますか?

希望の回答ではありませんが、ご検討ください。
    • good
    • 0
この回答へのお礼

ご回答いただきまして、どうもありがとうございました。

皆さまからもご回答いただいたように、エクセルではなく、アクセスなどに挑戦した方が良さそうですね。

ごめんなさい。後半の回答部分がいまいち理解できず、うまくご説明できないのですが、1つのファイルに1顧客のデータのみでOKで、シートも最大でも20シートくらいあれば大丈夫な感じなので、最初のご回答者様にご説明いただいたような内容で今は解決しようと思っています。でも、アドバイスをいただき、どうもありがとうございました。

E-mailを送ることはないのですが、1顧客の関連先の送付先が多い場合は宛名ラベルを使えると便利なので、そういった機能があるものを使った方が後々良さそうですね。どうもありがとうございました!

お礼日時:2009/05/24 21:31

> 実際こういったことが可能なのかどうか



可能です。
しかし、
> Aファイルは原本なので、“「あ」A”という名前の新しいファイルを作成できるようにしたい。
ということは、Aファイルを変更させたくないのでしょう?
ならば、
> Aのファイルのシート1に「あ」という情報が飛び、
などと無駄なことをせず、Aファイルを複製し、複製ファイルのシート1に「あ」と入力してから"「あ」A"という名前で保存するだけでいいのでは?
    • good
    • 0
この回答へのお礼

ご回答いただきまして、どうもありがとうございました。

今の私の知識ですと、仰る通りのやり方が1番すぐに実行できるものなので、そうなりそうです(^-^)

一応補足させて頂きますと、わざわざデータファイルから飛ばしたかった理由は、Aファイルに入力する「あ」という情報を顧客情報一覧として、データファイルに残しておきたかったからです。

上記のやり方でいくと、Aファイルにしか「あ」という情報は残らないので、データファイルで一覧管理するためには、データファイルにも「あ」という情報を入力しないといけないので、二度手間だなぁ、、と思ったのです。でも、今の私の知識ですと、とりあえずAファイルに「あ」と入力してから、それをコピーして、データファイルに貼り付ける、というのが1番実行しやすそうなので、当面はそうしようと思います。

どうもありがとうございました!

お礼日時:2009/05/24 21:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング