VBAでの質問です。 画像のように表の配置を変更したいです。 行数の列数も都度増減するデータです。 よろしくお願いします。

画像
補足

別シートに変更後の表が完成すると助かります。

Visual Basic | Excel57閲覧

ベストアンサー

0

ThanksImg質問者からのお礼コメント

ありがとうございました。 助かりました。

お礼日時:7/28 22:26

その他の回答(1件)

1

これでいかがでしょう。 Sub Test() Dim i As Long, j As Long, k As Long Dim FirstRow As Long, LastRow As Long, FirstColumn As Long, LastColumn As Long Dim Ws1 As Worksheet, Ws2 As Worksheet Set Ws1 = Sheets("Sheet1") '元シート Set Ws2 = Sheets("Sheet2") '変更後シート FirstRow = Rows("7:7").Row LastRow = Ws1.Cells(Rows.Count, "B").End(xlUp).Row FirstColumn = Columns("D:D").Column LastColumn = Ws1.Cells(6, Columns.Count).End(xlToLeft).Column k = 2 Ws2.Range("B1").Value = "月" For i = FirstColumn To LastColumn For j = FirstRow To LastRow Ws2.Cells(k, "B").Value = Month(Ws1.Range("B4").Value) & "月" Ws2.Cells(k, "C").Value = Ws1.Cells(j, "B").Value Ws2.Cells(k, "D").Value = Ws1.Cells(j, "C").Value Ws2.Cells(k, "E").Value = Ws1.Cells(FirstRow - 1, i).Value Ws2.Cells(k, "F").Value = Ws1.Cells(j, i).Value k = k + 1 Next j Next i Set Ws1 = Nothing Set Ws2 = Nothing End Sub

1人がナイス!しています