| 
    
     |  | ▼クリシュナ さん: おじゃまします
 
 > 以下のとおりマクロを組みましたが、下の行へ一向に進みませんでした。
 
 ↓を使って行番号を指定するなら、これをFor〜Nextの中に入れないと
 j はLoopのなかで増加してませんよ。
 >j = j + 1
 
 もっとも、Loop変数に i を使っているから、それをそのまま使えば済むはなし
 とも思われます。
 > For i = 2 To Ws2.Cells(65536, 1).End(xlUp).Row
 
 あと、手順を変えて、
 
 → 1行目で 最終列を求め、その右となりの列に
 各行の 最終データを Copyする
 
 という風にも 考えられませんか?
 
 Sub Try1()
 Dim LastCol As Long
 Dim wkCol As Long
 
 LastCol = Range("IV1").End(xlToLeft).Column '1行目の最後の(日付)データの列番号
 wkCol = LastCol + 1       'その右隣り(この列に最後のデータを転記)
 
 Dim LastRow As Long
 Dim c As Range         '最終行まで 対象列にデータ書き込みLoop
 LastRow = Range("A65536").End(xlUp).Row
 For Each c In Range(Cells(2, wkCol), Cells(LastRow, wkCol))
 c.Value = c.End(xlToLeft).Value
 Next
 
 Range("B1", Cells(1, LastCol)).EntireColumn.Select
 If MsgBox("転記が完了しました。データ列を削除しますか?", _
 vbOKCancel) = vbOK Then
 'Selection.Delete '指定列を削除
 End If
 
 End Sub
 
 |  |