シート上の図形やフォームコントロールのボタンにユーザーフォームを呼び出すマクロを登録するとバグが起こります。
以下バグの再現例です。
新規シートから,シートを追加して2枚以上にする。
例 Sheet1 Sheet2 の2つにする。
フォームモジュールを追加して,UserForm1 を作成し,コマンドボタンを追加する。
Private Sub CommandButton1_Click()
Unload Me
Sheet2.Activate
End Sub
標準モジュールに以下を追加する。
Sub test()
UserForm1.Show
End Sub
シート1へ,フォームコントロールのボタンを配置して,マクロの登録で,testを登録する。
そして問題はここからです。
シート1のフォームコントロールのボタンでユーザーフォームへ移動する。
ユーザーフォームのCommandButton1からシート2へ移動する。
画面の見た目はシート2になっています。
ここでセルへ文字入力し確定します。
画面はシート2のままで,文字が入力されていないように見える。
ここでシート1に移動してみると,先ほどシート2に入力した内容が確定されている。
といった感じになります。
★回避方法
'標準モジュールに以下を追加する。
Sub test()
UserForm1.Show
ActiveSheet.Select ’★追加
End Sub
ユーザーフォームを呼び出すときに,
ActiveSheet.Select
を追加することによって,この問題を回避出来ます。
多分これがいままで通りに使える1番良い方法なのではと思います。