アプリ版:「スタンプのみでお礼する」機能のリリースについて

宜しくお願い致します。

特定のExcel内容を、個々のExcelの表へ移動させたいのですが、良い方法を教えてください。

簡単な画像を添付します。

1.xls ⇒ A.xlsの表へ『田中 一郎 港区 10』
1.xls ⇒ B.xlsの表へ『鈴木 二郎 中央区 15』
1.xls ⇒ C.xlsの表へ『伊藤 三郎 台東区 20』
1.xls ⇒ D.xlsの表へ『佐藤 四郎 練馬区 25』
1.xls ⇒ E.xlsの表へ『山田 五郎 新宿区 30』

同じExcel ⇒ 個々のExcelの表へ移動という感じです。

1つのExcelに沢山データが入っているものを1000個以上のExcelに分けなければならない為、どうぞお力をお貸しください。

「Excel2010で特定の行のデータを他」の質問画像

A 回答 (1件)

1.xlsxを元ネタにして,ワードの差し込み印刷で作成してしまうのが一番簡単な方法です。


http://pc.nikkeibp.co.jp/article/technique/20100 …


一方簡単じゃないのを我慢して,エクセルだけでどうしても作りたいなら,少なくとも1000冊のブックをご自分で用意する手間が要ります。



基本の手順:
1番のデータを転記する一人目ブックのJ1セルに数字の「2」を記入します。元リストの「2行目」を取ってくる,の意味です。
説明を簡単にするため,1.xlsxは一緒に並べて横に開いておきます。

名字のセルには
=INDEX([1.xlsx]Sheet1!A:A,J1)
と数式を記入すると,A列の2番目データが入ります。

名前のセルには
=INDEX([1.xlsx]Sheet1!B:B,J1)
住所のセルには
=INDEX([1.xlsx]Sheet1!C:C,J1)
電話のセルには
=INDEX([1.xlsx]Sheet1!D:D,J1)
のようになります。

このブックをひな形として,J1の数字を3,4,5…と書き換えて行けば,アナタの作成したかった資料を作成できます。




自動化の手順:
ここまでの作業は,ごくシンプルにJ1の数字を書き換えては保存するだけの,極めて単純作業です。手を動かせば出来る,作業自体は何も難しい内容ではありませんね。
しかし手を動かす事も出来ない時は,マクロを使って自動化します。

手順:
1.ブックは開いておく
基本の手順で「2行目」を参照してくるブックを,まず完成させる
試しにJ1の値を3や4に書き換えて,問題なくデータが引っ張ってこれることを検証する

シートが完成したら:
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける

sub macro1()
 dim i as long
 for i = 2 to 1000
 range("J1") = i
 activesheet.copy
 activeworkbook.breaklink activeworkbook.linksources(xlexcellinks)(1), type:=xllinktypeexcellinks
 activeworkbook.saveas filename:=i & ".xlsx" ’拡張子は正しく修正する事
 activeworkbook.close false
 next i
end sub

ファイルメニューから終了してエクセルに戻る
ALT+F8を押し,登録したマクロを実行する。
    • good
    • 0
この回答へのお礼

ありがとうございました。
無事作成することが出来ました。
.batファイルで予め1000個ファイルを作って、そこにデータを入れる気でいたのですが・・・そもそも違ったのですね・・・
本当に助かりました!
また、なにかありましたら宜しくお願い致します!
とってもわかりやすい説明ありがとうございました。

お礼日時:2012/06/26 17:16

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