2016-11-01 4 views
-2

ExcelでVBAを使用して作成しているユーザーフォームがあります。私は約10コンボボックスと5テキストボックスを含む行があります。これらのボックスに入力されたデータと選択は、他の計算で使用されます。ユーザーは必要な数の行を追加できます。新しい行が作成されると、クラスは初期化中にコントロールを作成し、ユーザーフォームに追加します。すべてのイベントはインスタンスのクラスでも処理されます。ユーザーフォームのコントロールを含むクラスを削除できません

上記は、私がテストした限り完全に動作します(これについては、より良い方法があるかもしれませんが)。私が持っている問題は、追加された行のいずれかを削除しようとするときです。私はユーザーフォーム上にボタンを持っていますが、私はいくつかの方法を試してみましたが、役に立たない(私はこの問題の検索を試みましたが、私の問題を解決するのに十分なものは見つかりませんでした)。 controls.removeメソッドは動作していないようです(実行時にコントロールがすべて追加されていても)。私はクラスにコードを入れて別のバージョンを試してみましたが、それはユーザーフォームにあります。

いくつかの追加情報については、rowformオブジェクトを追加するuserformにグローバルコレクションが作成されています。このクラスでは、上記のすべてのボックスを作成して追加し、追加する順序に応じて名前を付けます。

私は、すべてのボタンがユーザーフォームから追加され、イベントがクラスに残るようにコードの構造を変更する必要があると考えています(コンボボックスは同じ機能を持つ必要がありますが、行)。私はこれに関する助けに感謝します!

答えて

0

ユーザーフォームからコントロールを削除する構文は次のとおりです。

sControlNameは、コントロールの名前を含む文字列変数をある
Me.Controls.Remove sControlName 

関連する問題