#表の行列を変換するプログラム
以下のプログラムでは、エクセルデータの行と列を入れ替える処理を行うことができます。
シート間をまたぐ場合でも、処理を行うシートを指定することで対応可能です。
VBA
Sub tategaki()
'ファイルを開く
Dim wb2 As Workbook
Dim OpenFileName As String
MsgBox "行と列を変換したいデータを選択してください。" & vbCrLf & "※ただし拡張子はxlsxのみ。", vbOKOnly + vbInformation
OpenFileName = Application.GetOpenFilename("Microsoft Excelブック,*.xlsx?")
Set wb2 = Workbooks.Open(OpenFileName)
'新しいシートの作成
Worksheets.Add(After:=wb2.Worksheets(2)).Name = "行ー列変換"
'行と列を入れ替えたい範囲の選択
Worksheets(2).Select
Worksheets(2).Range(Cells(1, 4), Cells(10, 85)).Select
Selection.Copy
'行と列の入れ替え
Worksheets(3).Range("A1").PasteSpecial Transpose:=True
'処理完了のダイアログ表示
ActiveWorkbook.Save
MsgBox "行と列の変換が完了しました。"
End Sub
以下の項目を入れ替えたいデータ範囲に合わせて書き換える。
VBA
Worksheets(2).Range(Cells(1, 4), Cells(10, 85)).Select
#行と列を変換するプログラムまとめ
Transpose:=Trueとすることがポイント。