1

私はExcel VBAプログラミングが初めてなので、自分のプロジェクトでいくつかの問題に遭遇しました。

簡単に言うと、10 個の UserForm と、各 UserForm に同じ TextBox 名の 10 個の TextBox があります。

ユーザーフォームごとに手動でコーディングする必要がないように、すべてのユーザーフォームで呼び出すことができる関数を作成することは可能ですか? 関数に関しては、TextBox の値をリセットし、「初期」状態に戻します。

私の質問は以上です。事前に感謝します。

4

2 に答える 2

0

タン、

Class Modulesの利用を検討する必要があります。私は実際にそれらについて最近知りましたが、同様に構築されたコントロールで複数のユーザーフォームを管理するための非常に効果的な方法です。

ここに移動: VBA USERFORM: PREVENT COMBOBOX ESCAPE ON KEYDOWN

またはここ: EXCEL VBA: dblClick、繰り返しコードの改善

これらのクラス モジュールがどのように機能するかの基本は、独自のオブジェクトを作成し、そのコードを記述し、目的のユーザー フォーム コントロールをそのオブジェクト タイプ (クラス) として割り当てることです。たとえば、同じように実行される 20 個のテキスト ボックスがある場合 (それらは独自の値を再起動します)、同じコードをクラス モジュール セクションに記述します。バム!それだけです (この機能が必要なテキストボックスをループして割り当てるためのコードの段落を記述する必要もあります)。

理解するのに時間がかかるかもしれませんが、プロジェクトを大幅に改善します。

于 2013-07-22T18:06:06.363 に答える
0

各フォームから呼び出すSubin aを作成するModule

例えば

Sub TextBoxInit(tb As MSForms.TextBox)
    tb.Text = ""
End Sub

必要に応じてそれぞれに呼び出しUserFormます

例えば

Private Sub Userform_Initialize()
    Module1.TextBoxInit TextBox1
End Sub
于 2012-12-19T04:57:00.953 に答える