
VBA初心者で勉強中です。
ご教授お願いします。
複数ブックの複数シートを各シートの特定セル(文字)を条件に、条件毎のブックにシートを振り分けるマクロをつくりたいと思っています。
【元データ】
Aブック
sheet1 セルF21佐藤
sheet2 セルF21山田
sheet3 セルF21木村
sheet4 セルF21後藤
sheet5 セルF21渡辺
Bブック
sheet1 セルF21木村 愛
sheet2 セルF21佐藤 太郎
sheet3 セルF21佐藤 太郎
sheet4 セルF21渡辺 健太郎
sheet5 セルF21鈴木 春香
※ ①ブックの名前・シート名の決まりがない。
②シート数は毎回変わります。
③条件とするセルF21の名前は名字とフルネームが あり、名字で被る人はいないので名字一致で処理したいと思っています。
【新規作成ブック】
佐藤ブック→Aブックsheet1,Bブックsheet2,Bブックsheet3
山田ブック→Aブックsheet2
木村ブック→Aブックsheet3,Bブックsheet1
※セルF21の名前に一致したブックにシートをコピー振り分けたいと思っています。
複数ブックの複数シートにおいて、セルの条件に合ったシートを選択し、別ブックにシート毎コピーする
マクロが思いつきません。
また、条件になる名前は固定の人(10名)になるのでリストを作成しといて処理していく方法が良いでしょうか?
No.1ベストアンサー
- 回答日時:
こんにちは
全部を一気にまとめて処理しようとすると混乱してしまうのなら、少し単純化して考えれば整理できると思います。
プログラムの作成も、ある単位に分けて作成してゆくようにすれば、考えやすくなると思いますし、デバッグもやりやすくなるのではないでしょうか。(若干、効率は落ちるかも知れませんけれど…)
例えば、10人のうち一人分だけ、該当するシートを集めてくる処理ができれば、それを10人に拡張するのはできそうですよね?
では、一人分を、一つの元データのブックから抜き出す処理(該当するシートが無いかも知れません)を作成できれば、それを元データの複数ブックに拡張することもできそうですよね?
ということで、「一人分のブックに、ある元データブックから該当するシートがあればコピーする」というものを作成することを最初の目標になっさってはいかがでしょうか?
そのほかに考え方のヒントをいくつか・・・
>①ブックの名前・シート名の決まりがない。
>②シート数は毎回変わります。
いずれにしろ、元データのブック内の全シートを順にチェックすれば済むのではないでしょうか?
>③条件とするセルF21の名前は名字とフルネームが あり~~
ご提示のようなセル内容であると限定できるのなら、文字列に空白が含まれれば、空白以前の文字だけを採用する。空白がなければ全部が苗字と判別する。
ということで良さそうに思えますが・・・
ついでながら、シートをコピペする際に、(新しく作成する)シート名をどのように決めるのかは不明ですが、元のシート名と同じにしようとすると被る可能性がありますので注意が必要です。
シート名は何でもよくて、内容さえコピペできれば良いというのであれば、あまり問題は無さそうですが。
>条件になる名前は固定の人(10名)になるのでリストを作成しといて~
全て苗字をID代わりにして識別するという考え方なので、どこかにリストを作成しておくか、あるいはプログラム中に直接配列などで定義しておいた方が便利だと思います。
(人数が10人と少ないということもあります)
個人のブックがどこにあるのか(path)も必要になりそうですね。
個人ブック群が同一フォルダ内にあって、それ以外のブックは無いというような条件が成立するなら、当該フォルダ内にあるブックを名前のリストと考えることも可能ですけれど・・・
fujillinさん
こんにちは。
アドバイスありがとうございます。
アドバイスいただいた通り、
一気に考えるのではなく、部分的に
マクロを考えて進めていきたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するQ&A
- 1 複数Bookの特定のシートの特定のセルを、1つの集約させるBookの特定のシートの特定のセルにコピー
- 2 複数の閉じたブックから各シート内の複数のセルを読み込み一覧表を作れますか?
- 3 【マクロ】【詳細未確定】同一フォルダ内の複数ブックの複数シートの特定セルの集計を出したい
- 4 【Excelマクロ】複数ブックに含まれている各シートを特定のルールにて並べて1ブックにまとめたい
- 5 VBA フォルダ内の特定ブック内のシートを特定し、それらのセルの値を全て1つにまとめる
- 6 【マクロ】同一フォルダ内の複数ブックの複数シートの特定セルの集計を出したい
- 7 【マクロ改修希望】同一フォルダ内の複数ブックの複数シートの特定セルの集計を出したい
- 8 【マクロ変更希望】同一フォルダ内の複数ブックの複数シートの特定セルの集計を出したい
- 9 【修正希望】同一フォルダ内の複数ブックの複数シートの特定セルの集計を出したい
- 10 VBAで、同一フォルダ内にある複数のExcelブックから、検索、特定のセルの文字列を別ファイルの特定
関連するカテゴリからQ&Aを探す
おすすめ情報
人気Q&Aランキング
-
4
【Excel】別のブックにある複数...
-
5
エクセルを共有するとPCによっ...
-
6
外部ブック参照が#REF!になって...
-
7
エクセル2016です。「ブッ...
-
8
エクセルで参照しているデータ...
-
9
Excelでワークシートが挿入でき...
-
10
複数ファイルから特定シートの...
-
11
エクセルで「ディスクがいっぱ...
-
12
エクセル「これ以上フォントが...
-
13
Excelでブックの共有を掛けると...
-
14
Excelで複数ブックの同一セルに...
-
15
エクセルの関数 ENTERを押...
-
16
Excel起動時に特定のワークシー...
-
17
Excelで指定範囲のデータ...
-
18
エクセルシートの一部を送りたい
-
19
WorkBooksをオープンさせずにシ...
-
20
エクセルに別ファイルのエクセ...
おすすめ情報