A B C D E F G H
1 a 1 2 3
2 b 2 4 5
3 c 2 4 5 6
Sheet1で上のような状態を想定しました。
データ「a」が入力されている、セルD1を選択して、下のマクロを実行します。
A、B列に結果を出力します。
ツール→マクロ→Visual Basic Editor でVBE画面に移り、 表示→プロジェクトエクスプローラでプロジェクトエクスプローラを表示します。
プロジェクトエクスプローラのSheet1をダブルクリック。出てきたコードウインドウに下記マクロをコピーして貼り付けます。
ここから
↓
Sub Narabikae()
Dim rw As Long '行カウンタ
Dim col As Integer '列カウンタ
Dim prt As Long '出力行カウンタ
prt = 1
With Selection
'行方向を調べる
While .Offset(rw, col) <> ""
'表題の列を出力する
Cells(prt, 1) = .Offset(rw, col)
'列方向を調べる
While .Offset(rw, col + 1) <> ""
'数値列を出力する
Cells(prt, 2) = .Offset(rw, col + 1)
prt = prt + 1: col = col + 1
Wend
col = 0: rw = rw + 1
Wend
End With
End Sub
お礼
回答ありがとうございます。 マクロを組むつもりだったのですが、とりあえずこれでやってしまいました。1時間かからなかったので満足です。ありがとうございました。