お世話になります。
Excel2016にて作業をしておりますが、上手くいかないのでお知恵をお貸しいただきたく質問いたします。
【概要】
あるフォルダ内にある複数のExcelファイルから、特定のセル及び列を1つのExcelファイルに集約します。
【詳細】
1.あるフォルダ内に複数のExcelファイルがあります。
いずれも「〜.xlsx」の形式で、ファイル数は日によって異なります。
2.これらのExcelファイルの、Sheet1のA1セルとA2セル、Sheet2のA列、C列を抽出して、1つのExcelファイルに貼り付けます。
3.列の長さはファイルによって異なります。
4.貼付→次の列へ移動、というサイクルをフォルダ内のExcelファイルの数だけ繰り返します。
5.集約したExcelファイルのイメージは以下の通りです。
A列 B列 C列 D列 E列……
1行目 A1 A2 A1 A2
2行目 A列 C列 A列 C列
3行目 A列 C列 A列 C列
4行目 A列 C列 A列 C列
5行目 A列 C列 A列 C列
↑ ↑
(1.xlsx)(2.xlsx)
「列を集約」と「セルを集約」を同時に解決できずにおります。
ご助言をいただけますと大変ありがたいです。よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんにちは!
各ブックのSheet2のA・C列は1行目からでよいのでしょうかね?
尚、Sheet2のC列最終行とA列の最終行は同じ行数だとしています。
一例です。
コード記載ブックのSheet1に表示するとします。
標準モジュールにしてください。
Sub Sample1()
Dim myPath As String, fN As String
Dim wB As Workbook, wS1 As Worksheet, wS2 As Worksheet
Dim cnt As Long, lastRow As Long, myCol As Long
myPath = "保存場所のパス" & "\"
fN = Dir(myPath & "*xlsx")
Do Until fN = ""
Workbooks.Open myPath & fN
Set wB = ActiveWorkbook
Set wS1 = wB.Worksheets("Sheet1")
Set wS2 = wB.Worksheets("Sheet2")
cnt = cnt + 1
myCol = cnt * 2 - 1
With ThisWorkbook.Worksheets("Sheet1")
.Cells(1, myCol) = wS1.Range("A1")
.Cells(1, myCol + 1) = wS1.Range("A2")
lastRow = wS2.Cells(Rows.Count, "A").End(xlUp).Row
Range(wS2.Cells(1, "A"), wS2.Cells(lastRow, "A")).Copy
.Cells(2, myCol).PasteSpecial Paste:=xlPasteValues
Range(wS2.Cells(1, "C"), wS2.Cells(lastRow, "C")).Copy
.Cells(2, myCol + 1).PasteSpecial Paste:=xlPasteValues
End With
wB.Close
fN = Dir()
Loop
MsgBox "完了"
End Sub
こんな感じではどうでしょうか?
※ コード内の「保存場所のパス」は実際のパスにしてください。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
最近、いつ泣きましたか?
泣いてストレス発散! なんて言いますよね。 あなたは最近いつ、どんなシチュエーションで泣きましたか?
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
メモのコツを教えてください!
メモを取るのが苦手です。 急いでメモすると内容がごちゃごちゃになってしまったり、ひどいときには全く読めない時もあります。
-
【お題】絵本のタイトル
【お題】 「ないた あかおに」「ねないこ だれだ」「はらぺこあおむし」みたいだけど、一体これどういう内容?と思った絵本のタイトルを教えて下さい
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
フォルダ内の複数ファイルから、特定セルだけを抽出し、並び替えて集約したい
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
複数ファイルから特定シートのコピー
Excel(エクセル)
-
-
4
複数のExcelブックから特定シートの特定セル抽出
その他(Microsoft Office)
-
5
ExcelのVBAで同一フォルダ内にあるファイルに同じ処理をしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセル(勝手に太字になる)
-
エクセルで最初のスペースまで...
-
エクセル ひらがなの文字を抽出
-
2つのエクセルのデータを同じよ...
-
エクセル 文字数 多い順 並...
-
エクセルの並び変えで、空白セ...
-
エクセルの表から正の数、負の...
-
エクセルで文字が混じった数字...
-
文字列に数字を含むセルを調べたい
-
Excelで半角の文字を含むセルを...
-
オートフィルターをかけ、#N/A...
-
「B列が日曜の場合」C列に/...
-
エクセルで、列の空欄に隣の列...
-
エクセル 時間帯の重複の有無
-
50人を数回、グループ分けする...
-
【ACCESS/必須条件とOR条件を組...
-
エクセルの項目軸を左寄せにしたい
-
お店に入るために行列に並んで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
エクセルで最初のスペースまで...
-
エクセル 文字数 多い順 並...
-
Excelで半角の文字を含むセルを...
-
エクセル(勝手に太字になる)
-
2つのエクセルのデータを同じよ...
-
エクセルで文字が混じった数字...
-
エクセルの項目軸を左寄せにしたい
-
エクセルの並び変えで、空白セ...
-
「B列が日曜の場合」C列に/...
-
Excel、市から登録している住所...
-
VBAで文字列を数値に変換したい
-
エクセルの表から正の数、負の...
-
エクセル 同じ値を探して隣の...
-
エクセル 時間帯の重複の有無
-
エクセルで、列の空欄に隣の列...
-
文字列に数字を含むセルを調べたい
-
EXCELで 一桁の数値を二桁に
-
エクセルで一行毎、一枚づつ自...
おすすめ情報