- ベストアンサー
Excel2000/VBA:値と書式のみ貼り付けたい。
Excel2000のVBAで値と書式のみ貼り付けたいのですが、可能でしょうか。2Excel2003なら Range("A1:Y100").PasteSpecial Paste:=xlPasteValuesAndNumberFormats でうまくいくのですが、Excel2000だとエラーがでます。「Range クラスの PasteSpecial メソッドは、失敗しました」とでます。これが、Paste:=xlPasteValues ならちゃんと貼り付けできますのでコピー範囲がセレクトされていない原因のエラーではないようです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Excel 2000 の場合は、別々にします。 通常は、 xlPasteFormats を先にしてから、xlPasteValues をするのだったと思います。
その他の回答 (1)
- papayuka
- ベストアンサー率45% (1388/3066)
回答No.1
ヘルプによれば Excel2000 の PasteSpecialで Paste に指定出来る定数は以下の通りです。 # 使用できる定数は、XlPasteType クラスの xlPasteAll、 # xlPasteFormulas、xlPasteValues、xlPasteFormats、 # xlPasteNotes、xlPasteAllExceptBorders のいずれかです。 # 既定値は xlPasteAll です。 xlPasteValuesAndNumberFormats はExcel2000より後のバージョンで拡張されたものと思います。
お礼
ありがとうございます。 ご指摘にしたがって検索をかけましたら以下のようにすればよいことがわかりました。 With Range("A1:Y100") .PasteSpecial Paste:=xlPasteFormats .PasteSpecial Paste:=xlPasteValues End With