|
▼クリシュナ さん:
おじゃまします
> 以下のとおりマクロを組みましたが、下の行へ一向に進みませんでした。
↓を使って行番号を指定するなら、これを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
|
|