🔄
TransposeData
データ処理選択範囲を転置(行列を入れ替え)してコピーします
🎬 デモGIF準備中
📖 使い方
- VBAエディタを開く(Alt + F11)
- モジュールを挿入(挿入 > モジュール)
- 下記VBAコードをコピー&ペースト
- ブック上で実行(Alt + F8 でマクロ選択)
💡 実行例: 転置したい範囲を選択してから TransposeData を実行します
💻 VBAコード
' TransposeData
' -----------------
' Macro Name: TransposeData
' Description: 選択範囲を転置(行列を入れ替え)してコピーします
' Parameters: なし
' Returns: なし
' Usage: 転置したい範囲を選択してから TransposeData を実行します
' -----------------
Sub TransposeData()
On Error GoTo ErrorHandler
Dim srcRange As Range
Dim destCell As Range
Dim destAddr As String
If TypeName(Selection) <> "Range" Then
MsgBox "セル範囲を選択してから実行してください", vbCritical, "エラー"
Exit Sub
End If
Set srcRange = Selection
destAddr = InputBox("転置先の先頭セルアドレスを入力してください(例: C1)", "転置先指定", "C1")
If destAddr = "" Then Exit Sub
On Error Resume Next
Set destCell = ActiveSheet.Range(destAddr)
On Error GoTo ErrorHandler
If destCell Is Nothing Then
MsgBox "無効なセルアドレスです", vbCritical, "エラー"
Exit Sub
End If
srcRange.Copy
destCell.PasteSpecial Paste:=xlPasteAll, Transpose:=True
Application.CutCopyMode = False
MsgBox "転置が完了しました", vbInformation, "完了"
Exit Sub
ErrorHandler:
MsgBox "エラーが発生しました:" & vbCrLf & Err.Description, vbCritical, "エラー"
End Sub