そのため、1 列にのみある 10,000 行のデータで満たされた Excel ファイルがあります。問題は、正しい形式ではないことです。列には次のパターンがあります。
"名前" "住所" "街" "州" "名前" "住所" "街" "州" "名前" ...
しかし問題は、 「名前」「住所」「都市」「州」である必要があることです。Excelでこれを行う方法があるかどうか、またはスクリプトを使用する方法があるかどうか疑問に思っていました。どんな助けでも大歓迎です。ありがとうございました。
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
そして、これで終わりました: