Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


49166 / 76732 ←次へ | 前へ→

【32487】Re:シートのActive設定
発言  ichinose  - 05/12/15(木) 23:30 -

引用なし
パスワード
   ▼こぼらー さん:
こんばんは。
>質問させていただきます。
>
>あるシートをDeactivateになった際に入力内容をチェックするVBAを作成しています。
>
>【処理】
>1.sheet1内のセル内容を編集します。
>2.sheet2を選択します。
>3.sheet1内の入力内容をチェックします。
>
>【困ってること】
>2.を実行した時点でsheet2が表示され、sheet2を表示したままエラーメッセージボックスが表示されます。チェック処理が終了した時点でsheet2へ遷移するのが、ベストなのですがよい方法はあるでしょうか?
新規ブックの
Thisworkbookのモジュールに
'============================================
Private oldsht As Object
'======================================================
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  Dim retcode As Long
  If oldsht.Name = "Sheet1" Then
    Application.EnableEvents = False
    oldsht.Activate
    retcoide = 0
    For idx = 1 To 3
     If Cells(idx, 1).Value <> idx Then
       retcode = 1
       MsgBox "入力が未完です"
       Exit For
       End If
     Next
    If retcode = 0 Then Sh.Activate
    Application.EnableEvents = True
    End If
End Sub
'===============================================================
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
  Set oldsht = Sh
End Sub


として下さい。
上記のコードは、
シートSheet1のセルA1,A2,A3にそれぞれ1,2,3と入力されていないと
シートの切り替えができない仕様です。

試してみて下さい。
0 hits

【32480】シートのActive設定 こぼらー 05/12/15(木) 19:40 質問
【32481】Re:シートのActive設定 とおりすがり 05/12/15(木) 20:18 発言
【32487】Re:シートのActive設定 ichinose 05/12/15(木) 23:30 発言
【32500】Re:シートのActive設定 こぼらー 05/12/16(金) 10:12 質問
【32502】Re:シートのActive設定 Statis 05/12/16(金) 10:53 発言
【32519】Re:シートのActive設定 こぼらー 05/12/16(金) 17:28 お礼
【32505】Re:シートのActive設定 ichinose 05/12/16(金) 12:01 発言
【32518】Re:シートのActive設定 こぼらー 05/12/16(金) 17:25 お礼

49166 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free