2017-01-05 16 views
4

範囲をコピーしてVBAを使用して値として貼り付けようとしていますが、コードをステップ実行しているようですが、実行した後もまだ数式があるので何もしません。コピー&ペースト失敗vba

列RとSは式を持つ唯一の場所で、私はF8を試してみました。たぶん私は値として貼り付けるための間違ったコードを持っているが、ここにある。すべての列の行数は同じです。だから、値としてコピー&ペーストしなかっただけのエラーはありません。

値をコピーして貼り付けるより効率的な方法をお勧めする場合は、同様に共有してください。

Sub test() 
Dim ws2 As Worksheet 
Dim LR3 As Long 
Set ws2 = Worksheets("BRST") 
LR3 = ws2.Cells(ws2.Rows.Count, "R").End(xlUp).Row 
ws2.Range("R3", "S" & LR3).Copy 
ws2.Range("R3", "S" & LR3).PasteSpecial xlPasteValues 
End Sub 

答えて

4

それだけで細胞自体との通信をより多く遅くなるとあなたは、単に列SR3から最後の行まで実行している細胞内の数式を交換したい場合は、VBAでCopyPasteを使用しないでくださいその後、代わりにこれを使用する:

Sub test() 

Dim ws2 As Worksheet 
Dim LR3 As Long 

Set ws2 = Worksheets("BRST") 
LR3 = ws2.Cells(ws2.Rows.Count, "R").End(xlUp).Row 

ws2.Range("R3", "S" & LR3).Value = ws2.Range("R3", "S" & LR3).Value 

End Sub 
+1

ありがとう、それは魅力のように動作します! – sc1324

1

あなただけの値の範囲を変換したい場合:

With ws2.Range("R3", "S" & LR3) 
    .Value = .Value 
End With 
関連する問題