質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

1回答

1139閲覧

Excel VBA 上書き保存後にフォーカスが消失

vbamateure

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2021/07/29 07:01

編集2021/07/29 07:26

発生している問題・エラーメッセージ

発生している問題
上書き保存後にユーザーフォーム上のテキストボックスでのフォーカスが消失してしまう。

作成しているマクロは部品在庫管理になります。
ユーザーフォームは部品検索フォームと入出庫フォームの二つを行き来するようになっています。

部品検索フォームで部品を検索し、登録されていれば、入出庫フォームに移動します。
移動先の入出庫フォームで入出庫数を入力して計算した後に、上書き保存して部品検索フォームに戻ります。
それの繰り返しです。

入出庫フォームで上書き保存後に部品検索フォームのテキストボックスにフォーカスするようにしているのですが、なぜかEnterが機能しません。
毎回、必ず問題が発生するわけではありません。
問題が発生するのは一度マクロを開いて入出庫をした後にマクロを閉じて、再度マクロを開いて入出庫を登録後に発生します。

解決する手段がありましたら、教えて頂けますと幸いです。
宜しくお願い致します。

該当のソースコード

Excel

1 2'入出庫フォーム 3Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) 4 5 Set wb = Workbooks("試験.xlsm") 6 If wb.Saved = False Then wb.Save 7 8End Sub 9 10'部品検索フォーム 11Private Sub UserForm_Activate() 12 13 Select Case Formopen 14 Case 0 15 Formopen = 10 16 Unload UserForm0 17 Case 2 18 Formopen = 10 19 Unload UserForm2 20 End Select 21 22 Me.TextBox1.TabStop = True 23 Me.TextBox1.SetFocus 24 Formopen = 1 25 26End Sub

試したこと

テキストボックスにはフォーカスがあるように見えるのですが、Enter,ESCキーを押下しても反応しない

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

Debug.Print "1" If KeyCode = "13" Then Call UserForm1a End If

End Sub

keydownイベントで上記コードを記載しましたが、問題発生時イベントが発生していません。
(イミディエイトウィンドウに何も記載されない)
(テキストボックスには入力した文字、数字は表示される)
テキストボックスのchangeイベントで上記同様にDebug.Printで確かめると、テキストボックスのchangeイベントは発生していました。

補足情報(FW/ツールのバージョンなど)

microsoft365
バージョン2105

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Excelメインウィンドウと
ユーザフォームのタイトルを見比べてください

メインウィンドウがアクティブに
なっていませんか?

投稿2021/08/08 08:15

kamikazelight

総合スコア305

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問