• ベストアンサー

エクセルのユーザーフォームについて教えてください。

エクセルのユーザーフォームでマルチページを作りました。Captionに好きな文字を設定すればタブの表記が変わると思うのですが、テキストボックスの値と連動させて、変更するって出来るのでしょうか? 単純に代入が出来ないようなのですが???Page1.Caption = "いちご" としたら、怒られました。 試行錯誤したのですが?出来ません。 どなたか?詳しい方教えて頂けませんでしょうか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

vba_minaraiさん、こんばんは。 こういうことかな? Private Sub TextBox1_Change()   MultiPage1.Pages(0).Caption = TextBox1.Value End Sub

vba_minarai
質問者

お礼

いつもながら、感服いたします。持っている本全て調べても分かりませんでした。 本当に、感謝の限りです。有難う御座いました。 今後ともよろしくお願い致します。

その他の回答 (1)

回答No.1

マルチページのcaptionは変更出来ません。

関連するQ&A

  • エクセルのユーザーフォームについて

    エクセルマクロのユーザーフォームのテキストボックスに セルの値を表示する方法で質問です。 ユーザーフォームを表示するとその時点での セルの値はテキストボックスに表示されているのですが ユーザーフォームを表示したまま 別のブックのセルを選んだ際に そのセルの内容がテキストボックスに表示されるようにしたいです。 ボタンや、なにかをするわけではなく 自分で任意のセルを選択したら、という事です。 ユーザーフォームには selectionchange などがないのでどうすれば良いかわかりません。 宜しくお願いします。

  • エクセルでフォームのキャプションを取得したいのですが・・・

    ユーザーフォーム1と2、二つのフォームがあります。 ユーザーフォーム1にテキストボックスが5つあったとして それぞれのテキストボックスにエンターしたときに ユーザーフォーム2を表示させるのですが、 そのときにテキストボックスのControlTipTextを ユーザーフォーム2のCaptionとして表示するには どうすればよいのでしょうか。 Private Sub UserForm_Initialize()で UserForm2.Caption = UserForm1.ActiveControl.ControlTipText としてみましたがだめでした。 例えばフォーム1上のテキストボックス1のControlTipTextが "AAAAA"だとして、テキストボックス1が選択されたとき(Enter)、 表示されたフォーム2のタイトルバーはAAAAAと表示。 同じ要領でテキストボックス2の場合はテキストボックス2の ControlTipTextを表示させる。 取り急ぎ乱文ですが宜しくお願いします。

  • エクセルユーザーフォームのチェックボックスのCaptionにセルの値を入れたい。

    表題の通りで、エクセルユーザーフォームにチェックボックスを作成し、そのCaptionにセルの値を入れたい場合、どのようにすればいいのでしょうか。 つまり、シートのセルの値が変われば、ユーザーフォームのチェックボックスの文字が変わっているようにしたいのです。 エクセル2003です。 よろしくお願い致します。

  • エクセル ユーザーフォーム

    エクセルのユーザーフォームでコマンドボタンを使ってテンキーを作りたいのですが、入力するときにテキストボックス1、テキストボックス2の切り替え方がわからなく困っています。 2つのテキストボックスに対応させるにはどのようにコードを書いたら良いでしょうか。 よろしくお願いします。

  • VBA ユーザーフォーム

    エクセルVBAのユーザーフォームのInitializeでnに値を代入し Private Sub UserForm_Initialize() Dim n As Long n = 19 ・・・・・ End Sub 同じユーザーフォームのボタンコマンドが押されたら Private Sub CommandButton2_Click() MsgBox n Worksheets("AAA").Cells(n, 3).Value = Me.テキストボックスの値.Text n = n + 1 End Sub nの値を用いてセルにテキストボックスの値を入れるというプログラムです。 値をいれたら、nをひとつ増やして次に備えるようにしたいのですが。 そもそも最初にnの値が受け渡しできません。 ボタンコマンドの最初の行でメッセージボックスにnの値を表示して確認しても何も数字が表示されません。 nの値の受け渡しを方法を教えてください。

  • ユーザーフォームの「page」の色

    VBAでユーザーフォーム→ツールボックス→マルチページでページを挿入したのですが 色を替えたいです。 しかし「MultiPage」と言うプロパティで「BackColor」で背景を替えられるのですが 各Page1、Page2の背景はどうやって替えればいいのでしょうか? 思いついた方法としてはプロパティの項目別→「ピクチャ」でペイントを使って設定したい色のファイルを作成してそれを使う方法かな?と思っています。 しかしそれだとマルチページのタブ部の部分(Page1、Page2と書かれてる部分)の色は変わりません。 全部同一の色で替えたいです。 よろしくお願い致します。

  • ExcelVBA ユーザーフォームに関しての質問です。

    ExcelVBA ユーザーフォームに関しての質問です。 ユーザーフォームでフレームを使って、 フレーム内に複数のチェックボックスを配置したとします。 行いたい作業としては次の2点 ?フレーム内に配置したチェックボックスのうち、チェックが入っているものだけの数を調べる ?チェックが入っているボックスの値(caption)を取得して、変数に入れる 以上のことができるでしょうか?

  • エクセルVBAで別のユーザーフォームに入力したい

    こんにちは! ユーザーフォーム1と2があって、ユーザーフォーム2上のテキストボックスで入力したデータをユーザーフォーム1のテキストボックスに入力したいのですが、どのようにすればよいでしょうか? アドバイスの程よろしくお願いいたします。

  • ユーザーフォームについて

    エクセル2002です。 ユーザーフォーム内のテキストボックスを使用して、 (1)A1のセルに1と入力されている状態でマクロを起動した場合、 (2)ユーザーフォーム内のテキストボックスには2と表示される (3)ユーザーフォーム内のボタンを押すと、A2のセルに2と入力される。 このような流れで、A列のデータ最終行に番号をふっていきたいです。 (A列のデータ最終行がA30なら、A31に31と番号をふる) ユーザーフォームのテキストボックスとボタンは作ってあるのですが、 それぞれに入れるコードを教えていただけないでしょうか。 よろしくお願いします。

  • エクセルのユーザーフォームについて

    パスワード入力用のしかけです。 ワークシートに配置したコマンドボタンを押してユーザーフォームを呼び出します。 Private Sub CommandButton1_Click() UserForm1.Show End Sub ユーザーフォームにはテキストボックスとコマンドボタンを配置しております。 テキストボックスのPasswordCharには * を設定しました。 Private Sub CommandButton1_Click() If StrConv(TextBox1.Text, vbLowerCase) = "abcd" Then MsgBox "OK!" Unload Me Else TextBox1.Text = "" TextBox1.SetFocus End If End Sub これで、ABCDまたはabcdと入力され、ユーザーフォーム上のコマンドボタンをクリックすれば、ユーザーフォームは消えます。 でも、いちいちマウスでクリックするのが面倒なのでEnterキー1回でユーザーフォームを消したいのです。 今でも、一度Enterキーを押すと、ボタンにフォーカスが移動するので、さらにEnterで消えますが、二度ではなくEnterキー1回でユーザーフォームを消すにはどうすればよいのでしょうか? ユーザーフォームは使ったことがないのでわかりません。 よろしくお願いします。

専門家に質問してみよう