EXCEL VBA 行と列を入れ替える

PCサポート

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

 
解説は後日いたします

スポンサーリンク

コメント

タイトルとURLをコピーしました