• ベストアンサー

Excel2000/VBA:値と書式のみ貼り付けたい。

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

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 Excel 2000 の場合は、別々にします。 通常は、 xlPasteFormats を先にしてから、xlPasteValues をするのだったと思います。

phy0
質問者

お礼

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

その他の回答 (1)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

ヘルプによれば Excel2000 の PasteSpecialで Paste に指定出来る定数は以下の通りです。  # 使用できる定数は、XlPasteType クラスの xlPasteAll、  # xlPasteFormulas、xlPasteValues、xlPasteFormats、  # xlPasteNotes、xlPasteAllExceptBorders のいずれかです。  # 既定値は xlPasteAll です。 xlPasteValuesAndNumberFormats はExcel2000より後のバージョンで拡張されたものと思います。

関連するQ&A