0

そのため、1 列にのみある 10,000 行のデータで満たされた Excel ファイルがあります。問題は、正しい形式ではないことです。列には次のパターンがあります。

"名前"
"住所"
"街"
"州"
"名前"
"住所"
"街"
"州"
"名前"
...

しかし問題は、 「名前」「住所」「都市」「州」である必要があることです。Excelでこれを行う方法があるかどうか、またはスクリプトを使用する方法があるかどうか疑問に思っていました。どんな助けでも大歓迎です。ありがとうございました。

4

2 に答える 2

1

SQL からデータを取得する場合... ピボットを使用して、クエリを垂直方向から水平方向に変更します。これで、Excel での変換について心配する必要がなくなりました。この投稿を見る


@Laurenceには優れた式ベースのソリューションがありますが、vbaが必要な場合は、SQLからの新しいデータダンプでこれを何度も行うのがVBAソリューションです。

これで始めました:

ここに画像の説明を入力


このマクロを使用しました:

Sub TransposeColA()
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
    cntr = 1

    For rowNum = 1 To LastRow
        If Cells(rowNum, 1).Value <> "" Then
            Set rngA = Range(Cells(rowNum, 1), Cells(rowNum, 1).Offset(3, 0).Address)
            Range("B" & rowNum & ":E" & rowNum).Value = Application.Transpose(rngA)
            rngA.Delete
        Else
            Rows(rowNum).Delete Shift:=xlUp
            rowNum = rowNum - 1
            cntr = cntr + 1
            If cntr = LastRow Then Exit Sub
        End If
    Next rowNum
End Sub

そして、これで終わりました:

ここに画像の説明を入力

于 2013-11-01T22:24:22.500 に答える