No.2です!
各行の説明をご希望だということなので・・・
もう一度コードをコピー&ペーストします。
Sub test()
'変数の宣言(長整数型)
Dim i, j As Long
'変数「i」は2~A列最終行まで
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
'変数「j」は1~9まで4行置き(A・E・I列を取得)
For j = 1 To 9 Step 4
'M列最終行の1行下の・・・
With Cells(Rows.Count, 13).End(xlUp).Offset(1)
'値はi行j列目の値
.Value = Cells(i, j)
'表示形式は「月/日」
.NumberFormatLocal = "m/d"
'M列最終行の1行下の1列右隣の値はセル番地(i,j)の1列右隣の値
.Offset(, 1) = Cells(i, j + 1)
'M列最終行の1行下の2列右隣の値はセル番地(i,j)の2列右隣の値
.Offset(, 2) = Cells(i, j + 2)
End With
'次の「j」で同様の操作 → 次の「i」で同様の操作(変数宣言の最後まで)
Next j
Next i
'変数の宣言
Dim k As Long
'kはM列の最終行
k = Cells(Rows.Count, 13).End(xlUp).Row
'M2セル~O列最後の範囲をM1セルのキーで昇順に並び変え
Range(Cells(2, 13), Cells(k, 15)).Sort Key1:=Cells(i, 13), order1:=xlAscending
End Sub
長々と失礼しました。m(__)m
こんばんは!
一例です。
Sub test()
Dim i, j As Long
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
For j = 1 To 9 Step 4
With Cells(Rows.Count, 13).End(xlUp).Offset(1)
.Value = Cells(i, j)
.NumberFormatLocal = "m/d"
.Offset(, 1) = Cells(i, j + 1)
.Offset(, 2) = Cells(i, j + 2)
End With
Next j
Next i
Dim k As Long
k = Cells(Rows.Count, 13).End(xlUp).Row
Range(Cells(2, 13), Cells(k, 15)).Sort Key1:=Cells(i, 13), order1:=xlAscending
End Sub
こんな感じですかね?m(__)m
お礼
解説までつけていただきありがとうございます。 大変参考になりました。