私は静的コントロールを持つ多数のユーザーフォームを持っています。私は、ユーザーフォームに動的に追加している一連のテクスチャボックスにイベントハンドラを適用するクラスモジュールを作成しました。私は特にクラスモジュールからユーザーフォームを扱うとき、私は、静的なコントロールで値を更新することができます...VBA Excel - ダイナミックにアドレス指定されたユーザーフォームのコントロールを更新する
IAFStep2c.Controls("chkOptIn").Value = True
しかし、私はそれが動作しない変数に自分のユーザーフォームの名前を持つコントロールを更新しようとします。 ..
Dim oUserFOrm As Object
Dim formName As String
formName = "IAFStep2c"
Set oUserFOrm = UserForms.Add(formName)
oUserFOrm.Controls("chkOptIn").Value = True
コントロールの値やその他のプロパティを読み取ることはできますが、値を更新することはできません。誰かがこれに対する解決策を提示することはできますか?
EDIT
は、私は以下のクラス、同じ結果に別のスプレッドシートを作成しました。 TextBox1と3は更新され、textBox2は更新されません。
Sub doStuff()
'MsgBox ("ping")
Dim oUserFOrm As Object
Dim formName As String
formName = "frmTest"
Set oUserFOrm = UserForms.Add(formName)
frmTest.Controls("TextBox1").Value = oUserFOrm.Controls("TextBox2").Name
oUserFOrm.Controls("TextBox2").Value = "PING"
frmTest.Controls("TextBox3").Value = oUserFOrm.Controls("TextBox2").TextAlign
End Subの
なぜ誰かがこの質問を落としたのですか?それは適切に公式化されています! –
このような動作は再現できません。 MS Excelのどのバージョン?エラーメッセージとは何ですか?あなたはuserformをエクスポートしようとしましたが、削除して再度インポートしましたか?クラス定義を表示できますか? –
Excel 2013.エラーメッセージは表示されず、フィールドの更新に失敗し、何も起こらないかのように処理が続行されます。フォームのエクスポート/インポートは試していないので、私はこれを初めて知ったので、どんな提案も感謝します。 –