• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBA コントロールに変数を入れたい)

エクセルVBAでコントロールに変数を入れる方法

このQ&Aのポイント
  • エクセルVBAでコントロールに変数を入れる方法について教えてください。
  • エクセルVBAのコードでUserFormのコントロールに変数を入れようとするとエラーが発生します。
  • エクセルVBAではUserForm1.Controls("テキスト1").Valueという形式でコントロールに変数を入れることはできますが、フォームの部分に変数を入れることはできません。

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>UserForms("UserForm1").Controls("テキスト1").Value >のような形式でコードを書くことは可能でしょうか? Dim MyForm As String MyForm = "UserForm1" With UserForms.Add(MyForm)   .Controls("テキスト1").Value = "てすと"   .Show End With With UserForms.Add("UserForm1")   .Controls("テキスト1").Value = "てすと"   .Show End With

参考URL:
http://support.microsoft.com/kb/408041/ja
BLPBIW
質問者

お礼

Addを使うのですか。 質問しなければ自力ではわからなかった事です。ありがとうございました。大変参考になりました。

その他の回答 (2)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

自分自身はhard-codeで特に不便も感じた事は無かったのですが、真面目に取り組んだ方の記事を見つけましたので、ご紹介しておきます。UserFormを沢山扱うときは便利なのかもしれませんね。英語ですが当方の低レベルの英語力でもそこそこ分かりました。(実は殆どコードしか無かったりして) http://www.cpearson.com/Excel/showanyform.htm

BLPBIW
質問者

お礼

ありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

UserForms(Index) によって可変参照できます。 ただしIndexはゼロから始まる数字しか受け付けません。名前によって参照する機能はありません。 UserFomrs(0).Controls("テキスト1").value = …

BLPBIW
質問者

お礼

名前を入れるのではなく数字を入れるのですね。ありがとうございました。

関連するQ&A

専門家に質問してみよう