バージョンはエクセル2000です。
北海道.xls、東北.xls、名古屋.xls、大阪.xls、広島.xls、九州.xlsという7つの支店のエクセルファイルがあり、
北海道.xlsには「sheet北海道」
東北.xlsには「sheet東北」
東京.xlsには「sheet東京」
名古屋.xlsには「sheet名古屋」
大阪.xlsには「sheet大阪」
広島.xlsには「sheet広島」
九州.xlsには「sheet九州」
が入っています。(1番左のシートを使っています。)
ファイルは共有フォルダに置き、各支店の担当者が各々の支店ファイルに不定期で新規案件情報(1案件につ1行)を書き込んでいきます。
今、新しく 全国.xls というファイルをつくり、
そこに「sheet北海道」、「sheet東北」、「sheet東京」、「sheet名古屋」、「sheet大阪」、「sheet広島」、「sheet九州」と7つのシートを持ってきて、
全支店の管理を行う立場の方々が、全国.xlsを開くと各支店ファイルのその時点での状況が反映されているようにしたいです。
過去の質問を見て、シートを1つのファイルに集める(ブックの結合?)機能があることが分かり、過去の質問に載っていたマクロをコピーして使ってみたのですが、1回目はうまくいくのですが、2回目以降は前回の結合により作成された古い時点でのシートが残るので、消さなければならないのがネックです。(自動的に消す方法もあるのでしょうか?)
また、セルを1つ1つ参照させて作ってみたのですが、各支店のファイルの方で、行の削除や挿入を行うため、参照のリンクが切れて#REF!のエラーが出てしまいます。
上記のようなことができるかどうかと、できるならば、やり方を教えてください。
長文ですみません。分かりにくいかもしれませんが、よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは。
取り込みたいデータの仕様にもよりますが(データベース仕様がベター)
[外部データの取り込み]機能を試してみてはいかがでしょう。
http://office.microsoft.com/ja-jp/excel/HP052005 …
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filte …
また、VBAを使うにしても、難しく考えず、
全国.xlsに各シートを作っておいて、(削除ではなくセル範囲のコピーでいいのでは?)
最初のBookを開く
↓
目的のシートを選択
↓
全セル範囲選択
↓
全国.xls選択
↓
貼り付け先シート選択・貼り付け
↓
最初のBookを選択・閉じる
↓
次のBookを開く。
という手順を[マクロの記録]録れば、それなりに処理できるはずです。
Sub Macro1()
ChDir "D:\test"
Workbooks.Open Filename:="D:\test\北海道.xls"
Sheets("Sheet北海道").Select
Cells.Select
Selection.Copy
Windows("全国.xls").Activate
Sheets("Sheet北海道").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Windows("北海道.xls").Activate
ActiveWindow.Close
':
End Sub
これをBookOpen時に動くように体裁を整えて
Sub auto_open()
Const path As String = "\\192.168.1.1\office\" '目的のフォルダ
Dim v As Variant
Dim vi As Variant
Application.ScreenUpdating = False '画面更新制御
'Loop基準の文字列を配列で作成し、繰り返し処理する
v = Array("北海道", "東北", "東京", "名古屋", "大阪", "広島", "九州")
For Each vi In v
With Workbooks.Open(Filename:=path & vi & ".xls", ReadOnly:=True)
.Sheets("sheet" & vi).Cells.Copy ThisWorkbook.Sheets("sheet" & vi).Cells(1)
.Close savechanges:=False
End With
Next vi
Application.ScreenUpdating = True
End Sub
こんな感じにすれば良いかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA 既存エクセルを開きその中のシートとしてCSVファイルを開く 3 2023/05/31 13:11
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Visual Basic(VBA) エクセルVBA Workbook変数に変数を使ったファイル名を格納したい 5 2023/06/13 14:46
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
九州の女性は何故気が強い人が...
-
「経て」の読み方は?
-
福岡市は名古屋市より都会、も...
-
宮崎は陸の孤島で交通アクセス...
-
神戸市と福岡市、どちらが都会...
-
名古屋市と福岡市は街並みなど...
-
●●け?と語尾に「け」をつける...
-
・<九州人は先祖に多大な朝鮮...
-
東北と九州では、どちらが美人...
-
しよらーん、この言葉が方言だ...
-
アルプスメイトというアイス。
-
愛知県から九州へフェリーに車...
-
コンボボックスにリストが表示...
-
一番都会の都市から順位をつけ...
-
九州は関東と関西どっちですか...
-
大学3回生ですが、今年から授...
-
九州人は基本的に東北人を見下...
-
千葉から九州にフェリーで帰り...
-
西南学院大or福岡女子大
-
新入社員ですが、来年3月に寿退...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「経て」の読み方は?
-
九州の女性は何故気が強い人が...
-
福岡市は名古屋市より都会、も...
-
エクセルで1~47の数字を各都道...
-
お樽という風習ご存知ですか?
-
●●け?と語尾に「け」をつける...
-
長崎では「来崎」、では他県は?
-
「インド人の黒んぼ」の由来
-
神戸市と福岡市、どちらが都会...
-
「〜ですね」という言葉は他県...
-
JR 途中下車扱いで枝分かれした...
-
福岡と大阪の中間地点はどこで...
-
鮮魚を送る方法
-
〜しよる とはどこの方言ですか...
-
外国産のアサリは危険ですか?
-
北九州市と川崎市はどちらが都...
-
コンボボックスにリストが表示...
-
名古屋市と福岡市は街並みなど...
-
「来+地名」の言い方
-
福岡の方言って「やん」「あか...
おすすめ情報