2017-10-16 3 views
1

目的のシートに範囲のセルをコピーしたいが、フォーマットではなく値だけをコピーしたい。残念ながら、私のコードはフォーマットもペーストします。私はこの目的のためにコード行を提供しています。 (私は特別な値を貼り付ける方法を知っていますが、可能であれば、このメソッドをコピー貼り付けのメソッドに適用したいと思います。通常は、別のコピー貼り付けメソッドを使用します。私はマクロの長さを可能な限り小さくしたいと思っていました)。PasteSpecialのみの値

ws1.Range("C2:C" & lastrow2).Copy ws2.Range("A2") 

答えて

3

は勧め:

ws2.Range("A2:A" & lastrow2).Value = ws1.Range("C2:C" & lastrow2).Value 
+0

Ok great !!私はこの1つを使用します:) –

+0

@Jeepedありがとう;ちょうどすぐに馬鹿のように入力した...まだ考えていたxlPasteValues – Cyril

1

を直接値転送を試してみてください。

with ws1.Range("C2:C" & lastrow2) 
    ws2.Range("A2").resize(.rows.count, .columns.count) = .value 
end with 

'alternately, 
ws2.Range("A2").resize(ws1.Range("C2:C" & lastrow2).rows.count, ws1.Range("C2:C" & lastrow2).columns.count) = ws1.Range("C2:C" & lastrow2).value 
+0

非常に仲間に感謝!その素晴らしいソリューションですが、私は通常これを正確に使用していますので、長さの問題でそれを回避しようとします。それにもかかわらず、もう一度ありがとう! –

+1

このメソッドは、同じ行で生成されたソースとターゲットに依存しているのではなく、他の答えと同じであることに注意してください。 – Jeeped

+0

はい私はそれを理解しています:)それで、最初のコード行にxlValuesを追加して、動作させようとしているように動作させることはできません。可能であれば、私はそれを1行で動作させたいと思っています。他の解決策は私の問題を解決しましたが、あなたは同じ行を持たなければならないと言いました! –

関連する問題