お世話になります。
EXCELで複数のBOOKから決められたセルにある値を抽出してひとつのBOOKに纏めたいのです。
BOOK1~50、 BOOKには31枚のSheetがあります。
その中のSeet31にSeet1~30のデーターを纏めてあります。
Seet31の A1~3 B1~2 C1~3 のデーターを抽出して
新しく作ったBook【集計】のSeet1にBook1~50から抽出した
データーを縦に並べたいのです。
【 例 】
A1 A2 A3 B1 B2 C1 C2 C3
1 5 2 4 3 6 7 1 3
2 2 3 4 6 9 7 5 2
3 7 8 5 6 2 3 1 8
と、いった感じです。
なお、Book名は『漢字+数字』です。
宜しくお願いします。
No.1
- 回答日時:
これこそチョコチョコとメモ程度を書いて、課題を丸投げしただけではないか。
少しでも手をつけて自分でやるようにしてください。
ここは下請けをやりますよ、というコーナーではないよ。
これはエクセルVBAで無いと出来ないのは認識しているよね。
マクロの記録というのがあって、1つのブックを開くのにはどういうコードになるか、判ると思う。
あとファイルはフォルダの元にまとまっている場合が多いがその点はどうなのかな。
ーー
あるフォルダの中のブックを(ファイル名の点から)より分ける方法はわかるかな。
Googleで「VBA フォルダ ファイルの取得」で照会すれば沢山コード例がある。
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …など
ここで拡張子でエクセルで無いものは捨てる
ファイル名文字列で、漢字名の部分が目的のものでなければ捨てる。
そして条件を満たす1つエクセルファイルを掴んだら、OPENする。
そして
Sub test01()
flname = "C:\Documents and Settings\xxxx\My Documents\YYYY.xls"
Set wb = Workbooks.Open(flname)
For i = 1 To 3
MsgBox wb.Worksheets("Sheet1").Range("A" & i)
Next i
End Sub
のようなので、Sheet1のA1:A3セルのデータが採れる。
処理が終わったらCLOSEする。
しかし質問の課題は処理に相当時間がかかりそう。こういうのはエクセルのファイル設計の失敗か、エクセルに過ぎた処理内容だと思う。
ありがとうございます。出張に出ていて御礼が遅れました。
別に丸投げしたわけではないのですが、自分の力では30枚のシートから必要なDATAを抜き出して31枚目のシートに抽出するのが精一杯だったのです。
もう少し知識があれば良いのですが、どう考えても出来そうになく、期限に間に合いそうに無かったので
相談させていただきました。
おっしゃるとおり、自分で努力することは大切ですね。・・反省・・
No.2
- 回答日時:
泥臭い方法ですが
まず、BOOK1~50とBook【集計】は一つの専用のフォルダーに入れます。
BOOK1~50とBook【集計】とをリンクさせる為、フォルダに纏めておかないと他のPCで使えなくなります。
Book【集計】とBOOK1~50の内適当数開きます。
整列させ操作したすい順番に並べます。
参考URL
http://kokoro.kir.jp/excel/window-arrange.html
BOOK1の適当な空欄のセルに
=A1 =A2 =A3 =B1 =B2 =C1 =C2 =C3
と横並びで入れるとそれぞれ A1 A2 A3 B1 B2 C1 C2 C3にリンクしたセルが出来ます。
このリンクしたセルをコピーしBOOK2~50に貼り付けます。
各ブックのA1 A2 A3 B1 B2 C1 C2 C3にリンクしたセルを全体を選択して
切り取り、Book【集計】のそれぞれのセルに貼り付けます。
何故かコピーでは上手くいきません。
貼り付けると=A1は =[ファイル名.xls]Sheet31!A1 になります。
ショートカットキーを使うと楽です。
コピー [Ctrl]+C
貼り付け [Ctrl]+V
切り取り [Ctrl]+X
参考URL
http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%A7% …
ありがとうございます。
出張に出ていて御礼が遅れました・・。
明日にでも試してみます。
この方法ですと、切り取りーー貼り付けを50回繰り返して行うのですね。
一度作ってしまうと、後は繰り返し仕えし使えそうですね。
No.3ベストアンサー
- 回答日時:
マクロという方法を使った方が簡単なので,次の通りにします。
準備:
Book1から50を1つのフォルダに集めておく
集計ブックも作成して同じフォルダに入れておく
手順:
集計ブックを開く
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける
sub macro1()
dim myPath as string
dim myFile as string
dim t as workbook
dim w as worksheet
dim r as long, c as long
application.screenupdating = false
set w = activesheet
cells.clearcontents
range("A1") = "File Name"
range("B1:I1") = array("A1","A2","A3","B1","B2","C1","C2","C3")
r = 1
mypath = thisworkbook.path & "\"
myfile = dir(mypath & "*.xls*")
do until myfile = ""
if myfile <> thisworkbook.name then
r = r + 1
w.cells(r, "A") = myfile
set t = workbooks.open(filename:=mypath & myfile)
for c = 2 to 9
w.cells(r, c).value = t.worksheets(31).range(w.cells(1, c).value)
next c
t.close false
end if
myfile = dir()
loop
application.screenupdating = true
end sub
ファイルメニューから終了してエクセルに戻る
ALT+F8を押し,登録したマクロを実行する。
ありがとうございます。
出張に出ていて、御礼が遅れました。
マクロが使えると非常にうれしいです。
明日にでも試してみます。
それから、自分でもこのマクロを参考に解読して勉強させていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 同じExcelのBOOK内で 1枚目のシートのA1のセルにデータを 入れると2枚目のシートのC1のセ 1 2022/10/25 09:40
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- iPad iPadでこんな誤作動あるの? 先週の土曜日、iPadで漫画を読んでいて、次のページをめくろうとした 1 2022/10/17 23:16
- Visual Basic(VBA) Excel VBA マクロ 先頭行の固定とオートフィルター設定を全てのシートに適用したいです 1 2022/11/12 15:32
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
【前回の続き続きです、ご教示...
-
エクセルのマクロについて教え...
-
VBA 別ブックからコピペしたい...
-
ExcelのVBAです。フォルダ内の...
-
【前回の続きです、ご教示くだ...
-
VBS Bookを閉じるコード
-
エクセルのマクロについて教え...
-
ADOで複数のBookから抽出
-
【Excel VBA】書き込み先ブック...
-
【マクロ】違うフォルダにある...
-
Excel VBA 保存時にフォルダを...
-
ユーザーフォームの切り替えに...
-
別ブックをダイアログボックス...
-
フォルダ内の全てのファイルに...
-
Excelマクロ 該当する値の行番...
-
【ExcelVBA】インデックスが有...
-
マクロVBA別Excelブックにデー...
-
エクセルマクロで、他ブックか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
ワイルドカード「*」を使うとう...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
VBS Bookを閉じるコード
-
【ExcelVBA】インデックスが有...
-
VBA コードを実行すると画面が...
-
【ExcelVBA】zip圧縮されたCSV...
-
vbaでvbaProjectのパスワード解...
-
VBAで別ブックのシートを指定し...
-
ExcelのVBAです。フォルダ内の...
-
vbaで他のブックに転記したい。...
-
フォルダ内の全てのファイルに...
-
VBAで複数のブックを開かずに処...
-
VBSでExcelのオープン確認
-
VBA 実行時エラー 2147024893
-
【Excel VBA】書き込み先ブック...
-
VBA シート名が一致した場合の...
おすすめ情報