|
▼はやしはる さん:
データ範囲を変数に取り込んで、そこから1列ずつ、とりだして
順番に転記していくと考えれば、こんな感じになります。
作業通りにコードを記述すれば出来上がるので簡単です。
Option Explicit
Sub test()
Dim tbl As Range
Dim n As Long
Dim k As Long
Dim dst As Range
Set tbl = Range("a1").CurrentRegion
Set tbl = Intersect(tbl, tbl.Offset(1))
n = tbl.Rows.Count
Worksheets.Add
Range("a1:c1").Value = Array("出席番号", "科目", "得点")
For k = 2 To 5
Set dst = Range("a" & Rows.Count).End(xlUp).Offset(1).Resize(n)
dst.Value = tbl.Columns(1).Value
dst.Offset(, 1).Value = tbl.Columns(k).Cells(0).Value
dst.Offset(, 2).Value = tbl.Columns(k).Value
Next
End Sub
|
|