![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
業務で顧客情報の簡易ツールをエクセルVBAで作成しています。
どなたか、いい案がある方、お教えください。
前提:2つのエクセルファイルを作成しています。
ファイルAは、顧客名、顧客担当者名、商品名、商品番号、契約期間などの一連のデータを持っており、DBファイルとして作成。
ファイルBは、検索・登録を行うユーザインターフェース。ユーザフォームにて各種作業をマクロ登録しています。
やりたい事:ファイルBのユーザフォームで、なにかしらのデータを検索し、その検索がヒットしたデータの内で、一括で変更したい項目の内容が全て同じならば一括でデータを変更、1つでも違ったら変更せずに終了。検索する内容は、時には顧客名であったり顧客担当者であったりと可変です。また、変更したい項目も同様に可変です。
私の今の所の案:
(1)ファイルBにユーザーフォームで検索ツールでキーになる項目をファイルA上でオートフィルタで検索
(2)(1)の可視結果を新しいシートにコピー
(3)(2)のシートで変更したい項目をキーにアドバンスドフィルタ
(4)データが全て同じなら、再度(2)を行い、変更したい項目を一括で置換
作業が複雑でこのやり方でVBAが組めるかわかりません。
どなたか、アドバイスのある方教えてください。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
質問がわかりにくいと思う。
質問が一般論に見えるせいもある。変更についての考えを整理したら。
1対多のような観点から。
(1)顧客名ー社名変更ー数社繰り返しするか。数回に分けて繰り返すか。
(2)担当者ー(この意味不明だが推定で)異動による担当代え、単なる担当テリトリ変えか
(3)商品名・商品番号ー???どういうケース商品目名変更などありうるのか。
担当者の扱い商品名のこと?
(4)契約期間ーこれをID識別するのはなに?契約期間とは?
(5)上記以外の諸項目ーどんなものがあるか。
そして、これらのどれかを1つ選ばせて(複数にするのはややこしくなるだけとおもう)
1操作ー1項目変更をお勧め。
A.変更前ー変更後の情報で済むもの(1)など
(2)の転勤の一括担当引継ぎなど。一律でない場合はどうする?
B。対象限定ー変更前ー変更後
(2)のゴチャゴチャ担当変え
(4)もこれか
すなわち、レコード更新と変更がゴッチャに意識されてる。
ーーー
その後、エクセルのフィルタでやるというよりは、
検索(Find)ー>該当分を捉えるー>情報変更(置換Replace)
と考えるべきでしょう。
ーー
そのとき、
X.全レコード総なめ方法
Y。ランダムアクセス的な方法
の区別があり、Xが易しく能率悪いようだが、変更が多(比率)量のレコードに及ぶ場合は、Yと差が少なくなり簡単なだけ得になる。
==
上記に書いたものは、アクセス、オラクルなどを業務で使うときの検討事項と同じのように思う。
すなわちエクセルでは、荷が重いことをやろうとしているようだ。
==
>その検索がヒットしたデータの内で、一括で変更したい項目の内容が全て同じならば一括でデータを変更、1つでも違ったら変更せずに終了
具体的に、何のことか判らない。
ーー
U.定期的な更新と(契約が増えた、終了したとか)
V.毎月あるが、非定例的なテーブル変更(社名変更)
W.恒例化していても、担当変えなど
(本当はテーブルを分けないといけないのだが、エクセルは、ゴッチャにならざるを得ないことが多いが)
を分けて考えるべきです。ゴッチャに考えられてませんか。
この回答への補足
imogasiさんへ
質問がわかりづらくてスミマセン。r(≧ω≦*)
改めて、説明させて下さい。
ファイルAのDBには、顧客名、顧客担当者名、社内担当者名、契約番号、商品名、商品番号、契約日、契約満了日などの情報があります。
複数の商品を同時に契約している場合もあり、同じ契約番号で複数の商品名が登録されている場合もあります。
やりたいことは、変更が発生した場合の手間の削減です。1データずつの更新はすでにVBAで完成していますので、複数データを同時に変更する機能を設けたいと思い考えています。
作業としては、まず、契約番号をキーに検索し、その契約番号にヒットしたデータのある情報(例えば、社名変更時の社名や担当者変更時の担当者など)を一括で変更したいんです。ただし、場合によっては変更したい元情報が異なっている場合があるので、その場合には一括変更させず、元情報が完全に同一の場合にのみ一括変更したいです。
検索するキーは、契約番号がいいです。その契約番号内のどういった情報を変更するのかは毎回異なります。時には、顧客名であり商品名であったりします。また、作業は複数項目を変更するのではなく、複数データの同じ値をある値に変えると言う作業であり、変更する項目は1つずつ出来ればいいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセル 多数のファイルから値を抜き出したい 4 2022/12/12 16:49
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IPアドレスを変更するプログラム
-
就職活動時のメールアドレス変...
-
USJ入場日当日の日付変更は可能?
-
楽天銀行で使用可能なメールア...
-
ITIL 変更管理と構成管理について
-
access2003 テーブル名・フォー...
-
クレジットカード、就職先は教...
-
2デーパスポート:パークの変更
-
docomo idmini
-
契約者固有IDと個体識別番号の違い
-
TikTokについてです! メアドで...
-
用紙サイズ変更の仕方
-
GoogleアカウントのIDを変更す...
-
だいぶ前までは遡れなかったシ...
-
外付けHDD 名前の付け方
-
X(旧ツイッター)からバスワー...
-
どうしたらアドレスを青色で表...
-
複数アドレスにメール送信した...
-
@live.jpというメールアドレス...
-
メールアドレス
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マイクロソフトアカウントのメ...
-
EXCEL 前回保存日時を変更する...
-
「振り替えする」の使い方を教...
-
UTF-8ってBOMなしをBOM付きにし...
-
ETCマイレージサービスのパスワ...
-
ヤフーのメールアドレスの変更...
-
BD-REドライブの名前の変更が出...
-
IPアドレスを変更するプログラム
-
USJ入場日当日の日付変更は可能?
-
就職活動時のメールアドレス変...
-
外付けHDD 名前の付け方
-
どうして、VBA動作後に固まるの...
-
教えて!gooに関して質問があり...
-
サブフォームのフィールドの幅...
-
メールの回復がしたいと思います
-
ビュースイカカードでメールア...
-
カカオIDって変更できるんでし...
-
JR西日本 wester会員 ...
-
OCNでのメールアドレスの変更
-
ポケモンGO!は地域にもよるか...
おすすめ情報