表形式のデータを SQL データベースにアップロードしています。
以下は、データの元の外観です。
各温度 (Y 軸) を列に取り、次に各重力 (X 軸) を次の列に取り、その後に交差する値を取りたいと考えています。
このような:
私は ExcelForum の人から助けてもらいました。これが私の問題を解決したマクロコードです。
Option Explicit
Sub transpose_data()
Dim lrow As Long, lcol As Long, a As Long, i As Long, j As Long
Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = "Output"
a = 1
With Worksheets("Original")
lrow = .Range("A" & .Rows.Count).End(xlUp).Row
lcol = .Range("IV1").End(xlToLeft).Column
For i = 2 To lrow
For j = 2 To lcol
Worksheets("Output").Cells(a, 1).Value = .Cells(i, 1).Value
Worksheets("Output").Cells(a, 2).Value = .Cells(1, j).Value
Worksheets("Output").Cells(a, 3).Value = .Cells(i, j).Value
a = a + 1
Next j
Next i
End With
Worksheets("Output").Columns("A:C").NumberFormat = "0.00"
End Sub
このコードを機能させるには、シート名を「オリジナル」に変更してください。