Sub TransposeRange()
Dim ws As Worksheet
Dim sourceRange As Range
Dim destRange As Range
Dim lastRow As Long
‘ Sheet2を指定
Set ws = ThisWorkbook.Sheets(“Sheet2”)
‘ 転置する範囲を指定
Set sourceRange = ws.Range(“A1:E3”)
‘ 貼り付け先を指定(A1から)
Set destRange = ws.Range(“A1”)
‘ 値を転置して貼り付け
destRange.Resize(sourceRange.Columns.Count, sourceRange.Rows.Count).Value = WorksheetFunction.Transpose(sourceRange.Value)
‘ 最終行を取得
lastRow = ws.Cells(ws.Rows.Count, “A”).End(xlUp).Row
‘ 6行目以降を削除
If lastRow >= 6 Then
ws.Rows(“6:” & lastRow).Clear
End If
MsgBox “転置が完了し、6行目以降のデータを削除しました!”, vbInformation
End Sub
解説は後日いたします
スポンサーリンク
コメント