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

Excel2000のVBAで値と書式のみ貼り付けたいのですが、可能でしょうか。2Excel2003なら
Range("A1:Y100").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
でうまくいくのですが、Excel2000だとエラーがでます。「Range クラスの PasteSpecial メソッドは、失敗しました」とでます。これが、Paste:=xlPasteValues
ならちゃんと貼り付けできますのでコピー範囲がセレクトされていない原因のエラーではないようです。

A 回答 (2件)

こんにちは。



Excel 2000 の場合は、別々にします。

通常は、
xlPasteFormats を先にしてから、xlPasteValues をするのだったと思います。
    • good
    • 5
この回答へのお礼

ありがとうございます。
ご指摘にしたがって検索をかけましたら以下のようにすればよいことがわかりました。
With Range("A1:Y100")
.PasteSpecial Paste:=xlPasteFormats
.PasteSpecial Paste:=xlPasteValues
End With

お礼日時:2007/08/21 21:23

ヘルプによれば Excel2000 の PasteSpecialで Paste に指定出来る定数は以下の通りです。



 # 使用できる定数は、XlPasteType クラスの xlPasteAll、
 # xlPasteFormulas、xlPasteValues、xlPasteFormats、
 # xlPasteNotes、xlPasteAllExceptBorders のいずれかです。
 # 既定値は xlPasteAll です。

xlPasteValuesAndNumberFormats はExcel2000より後のバージョンで拡張されたものと思います。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A