- 締切済み
EXCEL VBAでのマッチング処理
超ど素人なので教えて下さい。EXCEL2000のVBAで教育の受講者数自動化をしようとしています。Sheet1にピボットテーブルで作成した表(P表)があり、その表(P表)を元にSheet2の表(マスタ)に登録すると言うものです。説明が至らなく申し訳ないですが、マスタ表へ登録処理する際に考え付く注意点(名前の変更、行・列の削除など)も含め、お教え下さい。判りにくいかもしれませんが、一応図も登録しましたので、見てください。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- web2525
- ベストアンサー率42% (1219/2850)
>名前が変わったり、無くなったり、新しく増えたりするだけ この規則性が解らないとマクロとして組めません、また規則性があるのであれば関数で拾い出しも可能になります。 例:ピポットテーブルの中の科目名にデータが含まれているクラス名のみ抽出とか、別にクラス名一覧の表示があり指定されたグループのクラス名のみ抽出などの場合であれば、クラス名を関数で拾い出すことも可能です。 毎回クラス名を規則性無く拾い出さなければいけない場合は、マクロを組んでも最終的なクラス名入力は手作業が実用になります。 (このデーターで集計してくれと書類で渡された場合など) マクロは決まった動作を自動実行するには向いていますが、毎回異なった規則性のない動作を望む場合には向いていません。 一部の動作(セル内データーの上書き、繰り返し処理等)を除けば、表の作製処理は関数だけで行える物がほとんどです。
- web2525
- ベストアンサー率42% (1219/2850)
Sheet2の計算式が入っている表の状態で保存しておき、新しくSheet作製する時にその表をコピーして貼り付けるだけでは対応できないのですか? 毎回表の形式(フォーマット)が変更になるような表作成はマクロ自体作成が難しいと思いますよ。
補足
色々とご助言有難うございます。Sheet2のフォーマットの形は変わらないのですが、クラス名(例なのでクラス名にしてます。会社だと所属部名になります)だけが、名前が変わったり、無くなったり、新しく増えたりするだけになり、科目名は変更なしとなります。今まで関数を手入力やコピーなど、色々な方法を試して来ましたが、やはりそれでも手間と時間が掛かり大変なので自動化という事で、VBAマクロで処理出来るようにしてと上司に言われています。大変ご面倒をお掛けしますが、どうかVBAで処理出来る方法をご伝授お願い致します。
- web2525
- ベストアンサー率42% (1219/2850)
>表の各クラス名称と各科目名(行・列)の交差するセルへVBAを使って自動入力出来るようにしたいのです 如何してもマクロでないとダメなのですか? 関数でも可能ですが SUMPRODUCT や INDEX MATCH OFFSET の組み合わせなどで出来ます。
補足
回答有難うございます。最初は上記の関数を使用していたのですが、データ量が多くなり、手入力での作業が大変になって来てしまい、上司からVBAマクロ使って自動化にと言われたのでVBAマクロでの作成方法を教えて頂きたくよろしくお願い致します。関数は何とか出来たのですが、VBAは本などみて挑戦したのですが、まったく訳がわからなくなってしまい悩んでいます。
- n-jun
- ベストアンサー率33% (959/2873)
>マスタ表へ登録処理する際に考え付く注意点(名前の変更、行・列の削除など)も含め どのような入力情報から何をデータベース化(?)するかは、質問者さんの方で決める事かと。 その際に発生した転記・更新・削除等の処理についての問題点に対して、 回答を求めるならわかるのですが。。。 >超ど素人なので教えて下さい。 ちなみにVBAの事ですか?それともExcelの事ですか? って疑問を感じました。
補足
説明が足りず済みません。教えて頂きたいのは、VBAの事です。補足しますと、Sheet1(P表)に記入されているクラス名と科目名(行と列)の数値を全てSheet2(マスタ表)のクラス名と科目名(行と列)が一致するセルへVBAを使い、自動に入力出来るようにしたいのです。本当にど素人なので、こんな説明しか出来ずに申しわけありません。
- web2525
- ベストアンサー率42% (1219/2850)
ピポットテーブルで作成した表を一部形式を変更して他のシートに貼り付けたいということですか?
補足
説明不足で済みません。上記にある画像の黄色のあるのがピボットテーブルです。この表の各クラス名称と各科目名(行・列)が交差するセルにある数値を上記画像右側にあるSheet2の表の各クラス名称と各科目名(行・列)の交差するセルへVBAを使って自動入力出来るようにしたいのです。要はピボットテーブルは検索に使うだけです。
補足
本当に色々なご助言ありがとうございます。もっと良く調べてから再度登録して皆様のご助言を頂こうと思います。本当に色々と有難うございました。知らない事をお伺いするのにこんなに苦労するとは・・・聞くのにももっと判り易く簡潔にしないと駄目ですね(T_T)