[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザーフォームの内容を都度更新できますか? 』(ケン)
以前、ユーザーフォームをとどめる方法を教えて頂きました。
このユーザーフォームの入力内容は決まり文句しか入力出来ませんか?
都度内容を変更することは出来ないのでしょうか?
ユーザーフォームのどこに文言をいれているのかがわからないけど Sample1 が キャプション(一番上のタイトルバー)の文言をセット。 Sample2 が ユーザーフォーム上の Label1 の文言をセット。
Sub Sample1() With UserForm1 .Caption = "こんにちは" .Show End With End Sub
Sub Sample2() With UserForm1 .Label1.Caption = "こんにちは" .Show End With End Sub
(ぶらっと)
ユーザーフォームでテキストを設けたいです。
そのテキスト内容を更新したいです。
じゃぁ、Sample2の形で .Label1.Caption = "こんにちは" を .TextBox1.Value = "こんにちは"
なお、(念のため)ユーザーフォーム名は実際のものにしておいてね。(アップしたコードではUserForm1にしているけど)
それと・・・テキストボックスでもいいけど、テキストボックスというのは操作者が入力するためのコントロール。 表示だけならラベルのほうがいいと思うよ。
(ぶらっと)
教えて頂いたコードでしてみたのですが、
「こんにちは」から「こんばんは」に変えて閉じ、再度開くと「こんにちは」で出ます。
更新されたものの表示は出来ないのでしょうか?
>「こんにちは」から「こんばんは」に変えて閉じ、再度開くと「こんにちは」で出ます。
ん??
この意味は、 ・テキストボックスに「こんにちは」と表示される。 ・ユーザーフォームの上で「こんにちは」を「こんばんは」に打ち直し。 ・フォームを閉じる。 ・もう一度、フォームを表示する。 ・さっき、「こんばんは」と打ち直したのに「こんにちは」に戻ってしまったぞぉぉ!!!
こういうこと? であれば、それは【あたりまえ】
ユーザーフォームのテキストボックスに入力した値は、そのユーザーフォームを閉じれば消えてしまい、保持されないので。
一度、テキストボックスに入力した値を維持したいなら、これは、いろんな方法があるけど、 たとえば、隠しシートを用意して(非表示でもいい)その A1 に "こんにちは" といれておく。
で、
With UserForm1 .TextBox1.Value = sheets("隠しシート").Range("A1").Value .Show End With
ユーザーフォームモジュールに以下を追加。
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Sheets("隠しシート").Range("A1").Value = TextBox1.Value End Sub
(ぶらっと)
With UserForm1
.TextBox1.Value = sheets("隠しシート").Range("A1").Value .Show End With
は何処に入れれば良いのでしょうか?
途切れ途切れにすみません。
今、標準モジュール(かな?)で、UserForm1.Show と書いてあるところがあるんだよね? そこを、このコードで置き換え。
(ぶらっと)
あるいは 現在、どこかにある UserForm1.Show は、そのままにして ユーザーフォームモジュールに以下を追加してもいいね。(このほうがいいかな?)
Private Sub UserForm_Initialize() TextBox1.Value = Sheets("隠しシート").Range("A1").Value End Sub
(ぶらっと)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.