[[20090410132416]] 『マクロのあるシートへの貼り付け』(とんとん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロのあるシートへの貼り付け』(とんとん)

 あるシートのデータをコピーし、別のシートに貼り付けたいのですが、
 貼り付けたいシートに 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.