プロが教えるわが家の防犯対策術!

マクロ初心者です。
エクセルで選択範囲を指定後コピーし、
自動的に別のシートの末尾に貼り付けられるようにしたのですが、
この内容のまま「貼り付け」を「値のみ貼り付け」に訂正する場合
どのように変更すればいいのか、教えてくださると嬉しいです。
宜しくお願いいたします。


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

A 回答 (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 でも同じ

で消えます。慣れれば、別の方法もあるのですが、まず、この方法を習得してください。
    • good
    • 2
この回答へのお礼

この方法でなんとか解決することが出来ました。
Paste:=xlPasteValuesと
Destination:=を同時に使う方法をずっと考えていたので
すっきりしました。ありがとうございました。

お礼日時:2008/08/19 15:47

形式を選択して貼り付ける(PasteSpecialメソッド)


http://www.moug.net/tech/exvba/0050104.htm
    • good
    • 0
この回答へのお礼

こんな方法もあるのですね。
勉強になりました。今後参考にさせていただきます。

お礼日時:2008/08/19 15:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!