重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

以下、コードは、セルAを起点にある、複数データ(A1:C3)を全選択。
A10に値貼付をしています。コードは動きます

しかし、CopyをCutに変更すると以下の行にて、エラーとなります
cells(10,1).PasteSpecial Paste:=xlPasteValues

●コードをコピーから切取りに変更する事は出来る方法はありますか?●

ご存じの方、アドバイス、コードをご教授の程、宜しくお願いします
※データの範囲は変動します。なので、全選択しています

【コード】
cells(1,1).CurrentRegion.Copy
cells(10,1).PasteSpecial Paste:=xlPasteValues

cells(1,1).CurrentRegion.clear

A 回答 (1件)

こんにちは



手操作でも「切り取り」から「値のペースト」はできない仕様になっていますので、それをそのまま反映しているのでしょう。
理由ははっきりとはわかりませんが、対象範囲に被参照セルが含まれているような場合に、不都合が生ずることなどが考えられます。

実際に何をなさりたいのか不明ですが、PasteSpecialではなくPasteにすれば実行できますし、どうしても「値をペースト」にしたいのなら、ご提示のようにコピペ後に元の範囲を消すなどの方法も考えられます。
(ただし、セル範囲が重なっている場合に、「後から消す」とペーストした値が消去される可能性があるので、先に消去する方が確実と思います。)
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます
大変、参考になりました
>PasteSpecialではなくPasteにすれば実行できますし

お礼日時:2025/03/09 14:47

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

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


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