テーブルについて考えてみましょう。
a b c d
key1 value1 value2 value3
key2 value1a value3a
これをに変換する必要があります
Key1 Value1
Key1 Value2
Key1 Value3
Key2 Value1a
Key2
key2 Value3a
このコードは、必要に応じてスペースを含め、すべてのデータを1つの列に配置するのに役立ちますが、最初の列をキーとして保持する必要があり、ExcelでVBAを初めて使用します。
Sub MultiColsToA()
Dim rCell As Range
Dim lRows As Long
Dim lCols As Long
Dim lCol As Long
Dim ws As Worksheet
Dim wsNew As Worksheet
lCols = Columns.Count
lRows = Rows.Count
Set wsNew = Sheets.Add()
For Each ws In Worksheets
With ws
For Each rCell In .Range("B1", .Cells(1, lCols).End(xlToLeft))
.Range(rCell, .Cells(lRows, rCell.Column).End(xlUp)).Copy _
wsNew.Cells(lRows, 1).End(xlUp)(2, 1)
Next rCell
End With
Next ws
End Sub
テーブルは約55行で、12〜30列です。理想的には、同じ方法で20枚ほどのシートを変換する必要があるので、これをプログラムで行う方法が理想的です。