プロが教えるわが家の防犯対策術!

こちらのURL先に書かれているマクロを一部書き換えたいのですが、やり方がわかりません。

複数のファイル(ブック)の数値をまとめるExcelマクロ
https://www.ex-it-blog.com/Excel-macro-book#i

複数のファイルから特定のシート、特定のセルから値を取り出して一覧にするものです。
《コード転載ここから》
Sub shuukei()

'フォルダの場所を変数に入れる
Dim Folder_path As String
Folder_path = Range("f1").Value

'集計先のシートを指定し、変数に入れる
Dim w
Set w = Worksheets("売上")

'集計するブックを変数に入れる
Dim Merge_book As String
Merge_book = Dir(Folder_path & "\*.xls*")

'いったん数値をクリア
w.Range("a1", "b" & Rows.Count).Clear

'集計先のシートの1行からスタート
Dim n
n = 1

'指定したフォルダから、Excelファイルを探す
Do Until Merge_book = ""
Workbooks.Open Filename:=Folder_path & "\" & Merge_book

'見つかったら、A列にファイル名、B列に集計値を入れる
w.Range("a" &n).Value = Merge_book
w.Range("b" &n).Value = Workbooks(Merge_book).Worksheets("集計").Range("b2").Value
'次の行へ
n = n + 1

'集計するブックを閉じる
Workbooks(Merge_book).Close

'次のファイルを探しに行く
Merge_book = Dir()
Loop

End Sub
《コード転載ここまで》

こちらのコードですと集約するのはb2セルのみですが、これを例えばb2:b10セルとし、かつ行列を入れ替えて貼り付け(できることなら値貼り付け)とするには、どのように書き換えたらいいのでしょうか。

A 回答 (1件)

こうではないかと思います。


(間違っていたらごめんなさい)

w.Range("b" &n).Value = Workbooks(Merge_book).Worksheets("集計").Range("b2").Value

w.Range("b" &n).Resize(, 9).Value = WorksheetFunction.Transpose(Workbooks(Merge_book).Worksheets("集計").Range("B2:B10").Value)
    • good
    • 0
この回答へのお礼

うまく動きました!!
これで死ぬほど面倒だった作業がかなりの部分自動化できます…本当にありがとうございます。
さらに自分でも少しずつコードを書き換えていまして、また行き詰まったら質問させて頂きます。
本当にありがとうございました。

お礼日時:2018/08/16 08:48

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