0
0

VBA ユーザーフォームの小ネタ ユーザーフォームを閉じてもユーザーフォームに入力した値を喪失させない方法

Last updated at Posted at 2024-09-13

問題点

image.png
画像の通りユーザーフォームに値を入力します。すべて入力したら登録ボタンを押すのですが、入力の途中でユーザーフォームを閉じてしまいました。

入力を再開するためにユーザーフォームを再起動します。
image.png
そうすると、途中まで入力していた情報が失われてしまいました。
入力情報を回避する方法をお教えします。

解決策

ユーザーフォームにユーザーが何か値を入れます。ユーザーフォーム(テキストボックス)の値が変化した時、ワークシートにユーザーフォームの値を書き込みをするプログラムにします。

Private Sub okTB_Change()
    Set ws = ThisWorkbook.Sheets(resultWsName)
    ws.Cells(Me.sanshouTB.Value, 入力結果列.良品数) = Me.okTB.Text
End Sub

okTBの値に変化が起きたとき、発動するプログラムです。
image.png

okTBに"1"と入力されたら、ワークシートにも"1"と書き込みます。

あとは、フォームを立ち上げる時にワークシートに書かれた"1"を読み込むプログラムです。

Private Sub UserForm_Initialize()
    Me.okTB.Text = ws.Cells(tr, 入力結果列.良品数).Value
end sub

ワークシートに書きこまれた値をユーザーフォームのokTBに代入しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0