2017-07-13 1 views
0

値として(それが下の行が空のだ/そうでない場合には、他の行を検索します)ペーストVBAは - 私は、セルをコピーして、以下の行に貼り付けすべき、コードに苦しんだ

Sub CopyRows2() 

Dim LastRow As Long 

With Worksheets("OUTPUT") ' <-- here should be the Sheet's name 
    LastRow = .Cells(.Rows.Count, "O").End(xlUp).Row ' last row in column B 

For i = 2 To LastRow 
If Range("O" & i) > "" And Range("O" & i + 1) = "" Then 
    Range("O" & i).Copy 
    Range("O" & i + 1).Select 
    ActiveSheet.Paste 
    Application.CutCopyMode = False 
Else 
    End If 
Next 

End With 

ActiveWindow.ScrollRow = 1 'scrolling the screen to the top 

End Sub 

このように、それは正常に動作しますが、上のセルは数式なので、結果は同じでなければならないので、値だけをコピーする必要があります。この部分で

ActiveSheet.Paste 

:私は、私はこの部分を交換する必要があること、見つけた

ActiveSheet.PasteSpecial xlPasteValues 

私はそれをやった後しかし、それは私にエラーMSG 実行時エラー1004を示していますマクロが1番目のセルをコピーした後にスタックした後、空のセルを見つけましたが、値を挿入せずに検索を続行しませんでした。

お願いします。お願いします。何が私はそこに行方不明ですか?私は間違いを見ることができません。

ありがとうございました!私にとって

+0

ここでは、Range( "A1")の貼り付け場所を指定する必要があります。PasteSpecial xlPasteValues – areklipno

答えて

0

作品:

Range("O" & i).Copy 
Range("O" & i + 1).PasteSpecial xlPasteValues 
Application.CutCopyMode = False 

ここで選択する必要はありません。

+0

うん、そうですよ!ご協力いただき誠にありがとうございます – Srpic

0

コードをモジュールではなくシートに配置してください。

関連する問題