• 締切済み

VBAでデータを縦結合する方法

A.xlsというExcelブックにSheet1~Sheet35があります。 各シートには以下のような同じフォームのデータが入っています。 XXXX部分と生徒数はデータごとに異なります。 生徒氏名 国語 数学 理科 社会 英語 XXXX XX XX XX XX XX XXXX XX XX XX XX XX   :   :  :  :  :  : XXXX XX XX XX XX XX XXXX XX XX XX XX XX XXXX XX XX XX XX XX いま、Sheet1の前に「併合」というシートをつくり、 そのシートに Sheet1のデータ Sheet2のデータ Sheet3のデータ : Sheet35のデータ というようにすべてのデータを縦に結合した結果を出力したいと考えています。 これを書くためのVBAコードを教えていただけないでしょうか。 よろしくお願いいたします。

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

「併合」と言うシートを作成した後に実行。 Sub try() Dim ws As Worksheet Dim rr As Range, rs As Range Set rr = Worksheets("併合").Range("A1") For Each ws In Worksheets If ws.Name <> "併合" Then Set rs = ws.Range("A1").CurrentRegion rs.Copy rr Set rr = rr.Offset(rs.Rows.Count) End If Next Set rr = Nothing Set rs = Nothing End Sub ご参考まで。