
No.5ベストアンサー
- 回答日時:
#03です
Q50:X50を抜き出すなら、以下の2行を置換してください
Const startCOL As Long = 17, lastCOL As Long = 24 '列範囲を指定。Q:17、X:24
wkSTR = "'" & bkPath & "[" & buf & "]" & shtNAME & "'!R50C" & idxC
御回答ありがとうございます。
以下の通りでマクロを組んで、満足のいく結果が得られました。
Sub 他ブック抽出()
Dim idxC, ofROW, ofCOL As Integer
Dim curROW As Long, wkSTR, buf As String
Const startCOL As Long = 17, lastCOL As Long = 24 '列範囲を指定。Q:17、X:24
Const shtNAME As String = "Sheet1" '←シート名は固定。ここで指定
Const bkPath As String = "C:\ABC\" '←抽出対象のフォルダパスを指定
curROW = 1
buf = Dir(bkPath & "*.xls")
Do While buf <> ""
ActiveSheet.Cells(curROW, 1).Select
ActiveCell.Value = buf
ofCOL = 1
For idxC = startCOL To lastCOL
wkSTR = "'" & bkPath & "[" & buf & "]" & shtNAME & "'!R50C" & idxC '50行
Selection.Offset(0, ofCOL) = ExecuteExcel4Macro(wkSTR)
ofCOL = ofCOL + 1
Next idxC
curROW = curROW + 1
buf = Dir()
Loop
End Sub
'ABCフォルダにある複数ファイル全てのSheet1にあるQ50:X50のセルを
'抽出して、このシート1つに連続で貼り付けるマクロ。
'マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」
'→「挿入」→「標準モジュール」で表示される画面にペースト。
'実行はALT+F8を押して、マクロ名(他ブック抽出())を選択します。
質問というよりも、マクロ作成依頼になってしまいました。
本当にありがとうございました。
No.4
- 回答日時:
#03です。
以下の前提のもとにマクロを作成しました・500個のファイルは1つのフォルダに格納されている
・そのフォルダのEXCELファイルは全て抽出対象
・抽出するデータのシート名は共通(同じ名前)
・各シートのA1:G1を抽出する
・現在開いているシートに500ファイルのデータを抽出する(1行が1ファイルのデータ)
・A列にはブック名、B~H列にデータ(抽出元のA列~G列)を抜き出す。
なおマクロ中のシート名、フォルダのパス名は環境に合わせて修正が必要です(CONSTの2行)
Sub 他ブック抽出()
Dim idxC, ofROW, ofCOL As Integer
Dim curROW As Long, wkSTR, buf As String
Const startCOL As Long = 1, lastCOL As Long = 7 '列範囲を指定。A:1、G:7
Const shtNAME As String = "シート名" '←シート名は固定。ここで指定する
Const bkPath As String = "D:\対象フォルダ名\" '←抽出対象のフォルダパスを指定
curROW = 1
buf = Dir(bkPath & "*.xls")
Do While buf <> ""
ActiveSheet.Cells(curROW, 1).Select
ActiveCell.Value = buf
ofCOL = 1
For idxC = startCOL To lastCOL
wkSTR = "'" & bkPath & "[" & buf & "]" & shtNAME & "'!R1C" & idxC
Selection.Offset(0, ofCOL) = ExecuteExcel4Macro(wkSTR)
ofCOL = ofCOL + 1
Next idxC
curROW = curROW + 1
buf = Dir()
Loop
End Sub
マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はALT+F8を押して、マクロ名を選択します。
この回答への補足
ご意見ありがとうございます。
仮に提示してもらった前提はほぼ合っています。
今は手元にそれらのファイルが無いので、明日以降に
チャレンジしてみます。
No.3
- 回答日時:
マクロでないと無理でしょう。
補足お願いします・500個のファイルが入っているパスとフォルダ名
・ファイルのネーミングルール(そのフォルダに対象外のファイルがある場合のみ。全ファイルで良いならそのように書いて下さい)
・各ブックで抽出対象となるシート名。また各ブックで対象となるシートは1枚だけ?
・抽出したデータをどのようにまとめればよいか
(シート名、セルの配列、何行目から開始 等)
この回答への補足
補足を付ける場所がズレていますがご容赦下さい。
ご意見もらったようにマクロを作ってみました。
それっぽく動いたのですが、セルの座標を指定する部分がよく理解できません。
Const startCOL As Long = 1, lastCOL As Long = 7 '列範囲を指定。A:1、G:7
この範囲を"Q50:X50"のセルに変更したいので、COLとROWやRangeを使って指定するようなのですが、どう入れ込んだらいいのか、何度も試行しているのですがうまくいきません。範囲の指定をどのように行えばよいのか御指示願えますでしょうか?お手数かけます。宜しくお願いします。
No.2
- 回答日時:
こんにちは。
このご質問では、いくつか分からないことがあります。
シート名が分からないので、今の段階では、一括にマクロで処理するにしても、不可能だと思います。
>A01からG01
と書かれていますが、「A1:G1」のことでしょうか?
500個のExcelファイルは、除外条件というものがあるのでしょうか?
ある程度ファイル名などが決まっているものなのでしょうか?
>抜き出したデータから最大値や平均値を出したい。
というのは、抜き出したデータすべてからの最大値や平均値ということでしょうか?
ということは、3,500個(7 * 500)のデータということでしょうか?
ご回答、ありがとうございます。
回答を得られやすいように質問したつもりでしたが、
もっと条件が必要みたいでしたね。今後は気をつけます。
他の方に案を出していただいたので、明日以降チャレンジしてみます。
後日、条件を整理して、結果をまとめます。
抜き出して1つのファイルにしてしまえば後は自力でいけると思います。
ありがとうございました。
No.1
- 回答日時:
1、特定のフォルダに対象ファイルを移す。
2、合成したい順番にファイル一覧を作成する。
3、ファイル一覧に従ってファイルを開いて新しいファイルに書き出す。
というような手順かと思います。
2は、コマンドプロンプトでディレクトリを取ってファイルへ出力しても良いかも知れません。
>DIR *.xls > xlslist.txt
xlslist.txtをメモ帳で開いて、合成したい順番になっているのか確認できます。
後は、合成するのみです。
※多分、20~30行程度のVBAコードを書けば実現できると思います。
この回答への補足
御回答ありがとうございます。
開くファイルリスト.txtまでの作成は容易なのですが、
抽出して1つのファイルにするのがわからないのです・・・
マクロ必須ですかね
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) エクセルで、ファイルの分割 と ファイルの集約 1 2022/08/28 08:58
- Excel(エクセル) エクセルのAltを押すと「自動保存」「上書き保存」・・・に白抜きの「1」「2」・・・が出る。 2 2023/08/11 11:39
- 統計学 お世話になっています. x軸は時間(期間)y軸はある値に対する2つのグラフ比較をしますが、私個人の考 2 2023/03/30 11:42
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数のCSVファイルを横に並べて...
-
VBAでCSVの1行目だけを書き換え...
-
エクセルの指数を無効にしたい
-
excelインポート時の「実行時エ...
-
CSVファイルの結合(重複データ...
-
Excel VBAを使った複数のCSVフ...
-
複数個のascファイルを1つ...
-
「ほかのアプリケーションを無...
-
海外の印刷所を使って入稿する...
-
EXCELにcsv形式の外部データを...
-
複数のcsvファイルを1つのEXCEL...
-
ExcelVBAで今開いているユーザ...
-
昨日まで動いていたエクセルの...
-
複数のデータ系列の線の太さを...
-
VBAを一度起動するとずっと出て...
-
マクロを消すマクロは不可能?
-
Excelマクロ ファイル名が変わ...
-
フォルダ内の全ブックのシート...
-
Excelが勝手にシート移動してし...
-
VBA マクロ実行時エラー’1004Ra...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの指数を無効にしたい
-
複数のCSVファイルを横に並べて...
-
VBAでCSVの1行目だけを書き換え...
-
excelインポート時の「実行時エ...
-
「ほかのアプリケーションを無...
-
複数のcsvファイルを1つのEXCEL...
-
EXCELにcsv形式の外部データを...
-
CSVファイルの結合(重複データ...
-
二つのCSVファイルを照らし合わ...
-
Excel VBAを使った複数のCSVフ...
-
大量のCSVデータを1つのエ...
-
複数個のascファイルを1つ...
-
【VBA初心者】同じフォルダ内の...
-
複数のCSVファイルからのデータ...
-
【エクセル VBA】CSVファイルの...
-
エクセルのcsvで、12e3を入れる...
-
VBAでユーザーフォーム上に参照...
-
CSVファイルがうまく開けない
-
Accessにエクセルからデータを...
-
エクセルでcsvデータを自動読み...
おすすめ情報