[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『MsgboxのNO選択後』(ちょこれいと)
メッセージボックスという名前の標準モジュールがあります。
シートモジュールに、このメッセージボックスのマクロをCallで
呼び出すようにしました。
メッセージボックスのYES/NO で、NOを選ぶと、マクロのとおり、
カーソルがアクティブセルの一つ下のセルに移動はするのですが、
NOにしたのにシートモジュールの
Sheets("Sheet2").Rows("2:11").Copy
Rows(Target.Row + 1).Insert Shift:=xlDown〜〜〜〜 までも実行されてしまいます。
メッセージボックスのNOを押すと、ActiveCell.Offset(1, 0).Activate
で終わるだけでいいのですが、なにをどうすればいいのかわかりません。
よろしくお願いします。
************************************
Sub メッセージボックス()
Dim rc As VbMsgBoxResult rc = MsgBox("1枠追加しますか(^_^)??", vbYesNo) If rc = vbYes Then Else ActiveCell.Offset(1, 0).Activate End If End Sub ************************************
************************************
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1:A3001")) Is Nothing Then If Target.Row Mod 10 = 1 Then
Cancel = True
Call メッセージボックス
Sheets("Sheet2").Rows("2:11").Copy Rows(Target.Row + 1).Insert Shift:=xlDown
Sheets("Sheet2").Visible = False Application.CutCopyMode = False End If End If End Sub ************************************
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Sheets("Sheet2").Rows("2:11").Copy Rows(Target.Row + 1).Insert Shift:=xlDown Sheets("Sheet2").Visible = False Application.CutCopyMode = False この部分をvbYesの処理に入れればよいのでは? (稲葉) 2019/01/17(木) 21:33
標準モジュールを以下に書き換えました。
そしたら「オブジェクトが必要です」になり、
Rows(Target.Row + 1).Insert Shift:=xlDown
のところでデバッグになってしまいました。。。。泣
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Sub メッセージボックス()
Dim rc As VbMsgBoxResult rc = MsgBox("1枠追加しますか(^_^)??", vbYesNo) If rc = vbYes Then Sheets("Sheet2").Rows("2:11").Copy Rows(Target.Row + 1).Insert Shift:=xlDown Sheets("Sheet2").Visible = False Application.CutCopyMode = False Else ActiveCell.Offset(1, 0).Activate End If End Sub
(ちょこれいと) 2019/01/17(木) 21:41
ああ、Target見てませんでした。 標準モジュールにかかないで、直接ダブルクリックイベントの中に メッセージボックスのコード入れてはどうですか? (稲葉) 2019/01/17(木) 21:45
ありがとうございました。
(ちょこれいと) 2019/01/17(木) 21:59
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.