[[20260429004357]] 『ユーザーフォームで入力した後のデータについて』(エフワン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『ユーザーフォームで入力した後のデータについて』(エフワン)

ユーザーフォームで入力表を作って、データを全て入力し、データ
をシートに飛ばした後、ユーザーフォームの各入力項目について
ある項目はデータをクリアし、ある項目はデータを残す事はできますか。
その場合、コードはどのようなしたらよろしいでしょうか。
アドバイスをお願いします。

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


たとえば、UserForm1 に
TextBox1(クリア)
TextBox2(クリア)
TextBox3(残す)
とすれば、

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.