[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロのあるシートへの貼り付け』(とんとん)
あるシートのデータをコピーし、別のシートに貼り付けたいのですが、 貼り付けたいシートに Worksheet_Activate のイベントマクロが組んであり、 そのシートを選択した瞬間にマクロが作動してコピーした内容が消えてしまいます。
イベントマクロを有効にしたまま異なるシート間のコピペをする方法はないでしょうか。
>コピーした内容が消えてしまいます
イベントが走るとコピーモードが解除される、という意味でしょうか? コピーする動作も、マクロで行っていますか? もしそうならそれも含め、どのようなコードなのかを提示頂いた方が良い気がします。
(Dil)
Activate イベントでクリップボードが空になる ということですか?
If Application.CutCopyMode Then Exit Sub
としておけば良さそうな... (seiya)
Dil さん >コピーする動作も、マクロで行っていますか?
いえ、イベントマクロの設定のあるシートへ、手作業でコピペしたい、ということなのです。
seiya さん
>If Application.CutCopyMode Then Exit Sub > >としておけば良さそうな...
なるほど、そんなことができるのですね。でも、その場合、させたかった動作がなされないままになりますね。 考えてみます。
(とんとん)
だったら、苦肉の策として
Private Sub Worksheet_Activate() Dim myRng As Range If Application.CutCopyMode Then set myRng = Application.InputBox("貼り付け先の指定", type:=8) If Not myRng Is Nothing Then myRng.Cells(1).PasteSpecial End If Application.CutCopyMode = False 後のコード . . . End Sub とか? (seiya)
seiyaさん、ありがとうございます。
VBAだと何でもできるのですね。驚きました。勉強になります。
※今回のやりたかった作業は、とりあえずイベントマクロを無効にしてコピペを行ない、 あとでイベントマクロを有効に戻す、ということで済ませました。
今度、シート間のコピペがたくさん必要で、しかもイベントマクロも必要、というときに 活用したいと思います。
(とんとん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.