『ユーザーフォームで入力した後のデータについて』(エフワン)
ユーザーフォームで入力表を作って、データを全て入力し、データ
をシートに飛ばした後、ユーザーフォームの各入力項目について
ある項目はデータをクリアし、ある項目はデータを残す事はできますか。
その場合、コードはどのようなしたらよろしいでしょうか。
アドバイスをお願いします。
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
Me.TextBox1.Text = ""
Me.TextBox2.Text = ""
' TextBox3 はそのまま何もしない(値を残す)
とすれば、
Excel VBAのユーザーフォームで、
「一部の入力項目はクリアして、一部はそのまま残す」ようにできますが?
(稚拙) 2026/04/29(水) 06:00:49
こんな感じでいいんじゃない?
For i = 1 To 2
Me.Controls("TextBox" & i).Value = ""
Next
(はんぺん) 2026/04/29(水) 06:33:12
残すほうが議論あるところかと思います。 どの時点まで保持するのかが不明ですが、 (1)短期的なものであればUserForm.Hideで対応できるかもしれませんし、 (2)UserFormを閉じたあとも継続して使用するなら、Public変数に保持することが考えられます。 (3)Bookを保存終了したあとも、というならワークシートに保持します。
(2)で注意するのは、プロジェクトがリセットされたりすると、Public変数といえども保証できません。
(これはMS社自身がそのように言明しています)
ですから、(2)のケースでもワークシートにいったん書き出すのが安全だと思います。
(xyz) 2026/04/29(水) 07:08:25
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.