- ベストアンサー
コピー後に値のみ貼り付け エクセル、VBAの記述について
マクロ初心者です。 エクセルで選択範囲を指定後コピーし、 自動的に別のシートの末尾に貼り付けられるようにしたのですが、 この内容のまま「貼り付け」を「値のみ貼り付け」に訂正する場合 どのように変更すればいいのか、教えてくださると嬉しいです。 宜しくお願いいたします。 Sub 選択範囲をコピー後、指定シートの末尾に貼り付け Worksheets("sheet1").Activate Range("b11:I17").Copy Workbooks("book2.xls").Worksheets("Sheet1").Activate 行 = Range("B1").CurrentRegion.Rows.Count + 1 ActiveSheet.Paste _ Destination:=Workbooks("book2.xls").Worksheets("Sheet1").Range("B" & 行) End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 以下のように、Copy した後、PasteSpecial メソッドは、Destination を先頭にして書きます。 ActiveSheet.Paste _ Destination:=Workbooks("book2.xls").Worksheets("Sheet1").Range("B" & 行) ↓ Worksheets("Sheet1").Range("B" & 行).PasteSpecial Paste:=xlPasteValues 他の方法もありますが、この方法を覚えておくと便利です。 なお、コピー範囲の点線は、 Application.CutCopyMode = False 'True でも同じ で消えます。慣れれば、別の方法もあるのですが、まず、この方法を習得してください。
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
形式を選択して貼り付ける(PasteSpecialメソッド) http://www.moug.net/tech/exvba/0050104.htm
お礼
こんな方法もあるのですね。 勉強になりました。今後参考にさせていただきます。
お礼
この方法でなんとか解決することが出来ました。 Paste:=xlPasteValuesと Destination:=を同時に使う方法をずっと考えていたので すっきりしました。ありがとうございました。