
excel VBA ユーザーフォームを消すとTextBoxから反映させたセルの値も戻ってしまう
上記で困っているので解決策を教えて欲しいです。
VBA初心者です。
ユーザーフォームを表示して、フォーム内のTextBoxに入力した値をシート上のセルに反映させたいです。
実際反映するのですが、フォームが閉じると反映されていたセルの値が戻って(消えて)しまいます。
↓ユーザーフォーム上コマンドボタンのコードです。
コマンドボタンを押すとフォーム上テキストボックスに入力した値がセルに挿入されるようにしたつもりのものです。
-------------
Private Sub 更新_Click()
Worksheets("test").Range("AL11").Value = ""
Worksheets("test").Range("AL11").Value = UserForm1.TextBox1
Unload Me
End Sub
----------------
Unload Meを消して、xボタンで閉じても同じです。
また、Unload Meの前にActiveWorkBook.Saveでシートを上書きしてから閉じる動作にしても同じく消えてしまいました。
こちらは何故消えてしまうのでしょう。
初歩的な質問と思いますが、解決策を教えて頂けますと有り難いです。
何卒宜しくお願い致します。
No.3
- 回答日時:
こんばんは。
全てのコードを念のために表示された方が良いかもしれません。
Excelのバージョンは、365だったりしないでしょうか?
(365はVBAだと色々と不具合が多い様で、まともに動かない時がある)
No.2
- 回答日時:
こんばんは
#1様同様ですが、簡単な確認方法の一例です
ステップ実行で確かめてみましょう。
Private Sub 更新_Click()
Worksheets("test").Range("AL11").Value = ""
Worksheets("test").Range("AL11").Value = UserForm1.TextBox1
Stop 'これを書き足す
Unload Me
End Sub
シートとVBEが見えるようにモニターに縮小化すると判り易いです。
UserFormを表示して更新ボタンを押します
追加したStopで処理が止まります
その後 F8キーを押すと1行ずつ実行されますので
AL11セルが消えるところまでF8キーを押してみてください。
消えた時に止まっているコードの1行前の処理がそれです。
その処理がどの様なもので何のため記されているか、確認しましょう。
原因の処理などが見つからなかった場合は、
新規ブックを作成してUserForm1、TextBox1を作成
ご質問のコードを貼り付け、シート名をtestに変更して実行環境を作り試してみましょう。
新規ブックでも同様の事象が発生した場合、アドインなどの処理かも知れませんが可能性は低いかと思います。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ユーザーフォームのテキストボックスに前回入力した値を表示する Excel
Visual Basic(VBA)
-
Excel VBAで、ユーザーフォームの値を、モジュールで使用したい。
Visual Basic(VBA)
-
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
-
4
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
5
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
6
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
ユーザーフォームに入力したデータを保持する方法
Visual Basic(VBA)
-
9
UserForm1.Showでエラーになります。
工学
-
10
ExcelVBAのユーザーフォームで一度保存したデータを同じフォームに呼び出して編集する方法
Visual Basic(VBA)
-
11
エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい
Visual Basic(VBA)
-
12
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
13
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
14
ユーザーフォームで別シートを検索できますか
Excel(エクセル)
-
15
VBAのユーザーフォームで、テキストボックスを連携させたいのですが。
Visual Basic(VBA)
-
16
入力済み、選択したセルに連動した行のデータをユーザーフォームで呼び出すには
Excel(エクセル)
-
17
エクセルVBA「リストボックスで選択した値をテキストボックスで変更してシート上セルに反映したい」
Excel(エクセル)
-
18
Excel VBA 検索した値を入力フォームに表示
Visual Basic(VBA)
-
19
VBA フォームのテキストボックスにセルの値を表示させたいが改行していたら改行もあわせて表示させたい
Excel(エクセル)
-
20
Excel VBAのユーザーフォームでVLOOKUP
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
Excelで複数シートの選択セルを...
-
エクセルで特定のセルの値を別...
-
Excelシートの保護時にデータの...
-
エクセルで1月0日と表示される!!
-
ExcelでTODAY関数を更新させな...
-
マクロ 新しいシートにデータ...
-
日付が未入力の際はゼロか、空...
-
エクセルで条件に一致したセル...
-
別シートのセルを絶対参照にする
-
INDIRECT(空白や()がある文字列...
-
エクセルで、加筆修正したセル...
-
エクセルで指定のセルのみ完全...
-
Excelでスクロールすると文字が...
-
複数シートの同じセル内容を1シ...
-
EXCELのハイパーリンクのセルを...
-
ハイパーリンク で『指定された...
-
エクセル ハイパーリンクで画像...
-
Rangeメソッドは失敗しました。...
-
EXCEL関数でシート名が変わる可...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
Excelで複数シートの選択セルを...
-
Excelシートの保護時にデータの...
-
日付が未入力の際はゼロか、空...
-
エクセルで1月0日と表示される!!
-
エクセルで条件に一致したセル...
-
複数シートの同じセル内容を1シ...
-
ExcelでTODAY関数を更新させな...
-
別シートのセルを絶対参照にする
-
Excelでスクロールすると文字が...
-
EXCELのハイパーリンクのセルを...
-
エクセルで20万行あるシート...
-
エクセルで、加筆修正したセル...
-
エクセル ハイパーリンクで画像...
-
Rangeメソッドは失敗しました。...
-
マクロ 新しいシートにデータ...
-
(Excel)あるセルに文字を入力...
-
エクセルで複写のように自動入...
-
EXCEL関数でシート名が変わる可...
-
エクセルで指定のセルのみ完全...
おすすめ情報