dポイントプレゼントキャンペーン実施中!

Excelで、book1でコピーしたセル(テキスト)をVBA(Workbook.Close SaveChanges:=True)を使って一度book1を閉じてしまい、新たにbook2を開きます。
この際にコピーしたセルまたはテキストをペーストしたいのですが、必ずコピー内容が保持できずに消えています。
改めて、windowsのコピーとExcelのコピーなど、基礎知識も含めて知らない事を思い知らされ、何をどうしたら解決できるのか分からなくなってしまいました。
どなたか、詳しい方、解決方法の分かる方、ご教授頂けないでしょうか。
宜しくお願い致します。

A 回答 (2件)

こんにちは



VBAとの記載があるので、VBAでの処理の話でしょうか?

VBAの処理は、基本的に手操作と同様ですので、クリップボード経由のコピペであればできるはずですよ。
(Copyメソッドでコピーし、Pasteメソッドでペーストする場合)

とは言っても、わざわざブックを閉じてからペーストしなくても、
 ・ペースト側(=book2)のブックを開く
 ・値のコピペを行う
 ・コピー元(=book1)のブックを閉じる
という処理の順序にしておいても良さそうな気はしますけれど・・

こちらの手順であれば、CopyメソッドのDestinationを用いて1行の記述で済ますことも可能ですし、
 Range2.Value = Range1.Value
のような方法でも値を転記することが可能になります。
(この場合は、値のみの転記になりますが)
    • good
    • 0
この回答へのお礼

ありがとうございます。
しかし作業の手順上、どうしてもbook1が閉じなければならなくて・・・
手作業であれば、一時保持したペーストが出来ないが、VBAはクリップボードを呼び出してペーストするから、貼り付け可能と言う事ですね。
クリップボードを表示させていない状態での右クリック(Ctl+C)では一時的にしか保持していないという事ですかね。
VBAでpasteメソッドですれば、普通に出来ました!
ありがとうございました。

お礼日時:2021/12/23 19:40

Paste:=xlPasteAll

    • good
    • 0
この回答へのお礼

あれ?ちゃんとできますね・・・。
何でできなかったのか不明ですが、教えて頂けて解決できました。
ありがとうございました。

お礼日時:2021/12/23 17:53

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