
ユーザーフォームにテキストボックスとコマンドボタンを配置し、テキストボックスに前回入力した値を表示しようと下記のようにしたのですが、テキストボックスに1以上の数値を入力してもフォームを閉じてから再びフォームを表示したときにテキストボックスには0と表示されてしまいます。このテキストボックスの値を固定することはできないのでしょうか。
Private Sub CommandButton1_Click()
Static number As Integer
number = Me.TextBox1
Unload Me
End Sub
Private Sub UserForm_Initialize()
Static number As Integer
Me.TextBox1 = number
End Sub
No.2ベストアンサー
- 回答日時:
標準モジュール上に変数numberを宣言して
Public number As Integer
ユーザーフォーム上では
Module1.number = Me.TextBox1
Me.TextBox1 = Module1.number
の様にすれば良いと思います。
宣言セクションにStaticを設定することができなかったので、一時的に記憶する方法が分からなかったのですが、Publicで宣言すればよかったのですね。解決しました。ありがとうございます。

No.1
- 回答日時:
前回表示した値と同じものを表示したいなら、その値をどこかのシートのどこかのセルに格納しておいて、そこから取り出して表示する以外にないです。
ユーザーフォームのみでは、解決できません。excelを起動した状態で、ユーザーフォームの起動/停止を行い、前回の状態を表示したいなら、標準モジュールに
public number as Intger
のように登録しておけば、それを使用できます。(excelを終了するとその値は次回起動時には引き継がれません)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
テキストボックス入力データの保持について
Visual Basic(VBA)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
テキストボックスに入力した値を、次に入れ替えるまで保持させたいのですが、どのような方法があるでしょう
Access(アクセス)
-
5
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
6
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
7
UserForm1.Showでエラーになります。
工学
-
8
ExcelVBAのユーザーフォームで一度保存したデータを同じフォームに呼び出して編集する方法
Visual Basic(VBA)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
エクセルVBA ユーザーフォームのTextBoxを日付にしたい
Excel(エクセル)
-
11
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
12
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
13
エクセルでフォーム中のテキスト値の保存方法
Excel(エクセル)
-
14
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
15
ユーザーフォームのデータをそのまま保存する方法
Excel(エクセル)
-
16
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
17
TextBoxから数字が文字として入力される?
Visual Basic(VBA)
-
18
ExcelのVBAでフォームが表示されない
Excel(エクセル)
-
19
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
20
入力済み、選択したセルに連動した行のデータをユーザーフォームで呼び出すには
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
Form_Load と Form_Activate の...
-
ExcelVBAのユーザーフォームの...
-
クリックイベントなのに、2回ク...
-
ユーザーフォームのラベルに時...
-
VB.NETでフォームロード中のエ...
-
Microsoft Formsの「個人情報や...
-
特定のフォームが開いているか...
-
テキストボックスの番号の取得
-
VBAでユーザーフォームを再表示...
-
VBA(エクセル)のユーザー...
-
エクセルのチェックボックスの...
-
(Excel+VBA)ユーザーフォームの...
-
C# フォームのShow()をオーバー...
-
フォームを画面の下側ぴったり...
-
ACCESSのフォーム、開くんです...
-
現在開いている全てのフォーム...
-
Access VBA コントロールの参照...
-
C#で3つのプログラムができま...
-
ユーザーフォーム上に現在日時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
Microsoft Formsの「個人情報や...
-
Form_Load と Form_Activate の...
-
VBAでユーザーフォームを再表示...
-
クリックイベントなのに、2回ク...
-
ユーザーフォーム上に現在日時...
-
テキストボックス入力データの...
-
VBAのテキストフォームの折り返...
-
ACCESSのフォーム、開くんです...
-
Hideについて(.NET)
-
ユーザーフォームのテキストボ...
-
エクセルVBAのフォームを最...
-
モーダルフォームとモードレス...
-
EXCEL VBA ユーザーフォームの...
-
フォームのテキストボックスな...
-
コントロールの存在確認
-
パソコンの画面に合わせてユー...
-
フォームウィンドウを最前面に...
-
Accessで、一つのフォーム画面...
おすすめ情報