2

表形式のデータを SQL データベースにアップロードしています。

以下は、データの元の外観です。

ここに画像の説明を入力

各温度 (Y 軸) を列に取り、次に各重力 (X 軸) を次の列に取り、その後に交差する値を取りたいと考えています。

このような:

ここに画像の説明を入力

4

1 に答える 1

2

私は 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

このコードを機能させるには、シート名を「オリジナル」に変更してください。

于 2012-05-17T03:35:59.443 に答える