| 
    
     |  | ▼さくら さん、Jakaさん、こんばんは。 
 >すみません。表示がずれて余計に分かりにくくなっているのに回答してくださいましてありがとうございます。
 >できる限り詳しく説明しますので再度お願いします。
 
 コード書くのと同じくらい質問内容をわかりやすく書くのも難しかったりするもんです。
 
 調査範囲も狭そうなので以下のようなコードを作りました。
 
 **
 
 シート(Sheet1)の調査範囲(さくらさんの例でいうと、セルA1:D3)を
 選択してその状態で以下のマクロを実行してみて下さい。
 
 
 '=============================================================
 Sub test()
 Dim rng As Range
 Dim idx As Long
 Dim jdx As Long
 Dim temp As Variant
 Set rng = Selection
 jdx = 0
 With Worksheets("sheet2")
 .Rows(1).Clear
 For idx = 1 To rng.Count
 With rng
 temp = .Cells((idx - 1) Mod .Rows.Count + 1, (idx - 1) \ .Rows.Count + 1).Value
 End With
 If temp <> "" Then
 .Cells(1, jdx + 1).Value = temp
 jdx = jdx + 1
 End If
 Next
 End With
 End Sub
 
 >また、途中で希望者が増えた場合にも対応したいのです。
 これは、希望者名を入力後、再度、上記コードを同じようにして実行して下さい。
 
 他にもシートのChangeイベントを使用する方法等がありますが、
 上のコードのちょっとした変更で可能かと・・・。
 
 |  |