2017-12-18 11 views
0

VBA経由で更新するリストボックスのRowSourceプロパティを取得できません。別のスレッドから構文が見つかったので、これは正しいと思います。しかし、失敗していないにもかかわらず、RowSourceプロパティに何もしません(空白のままです)。以下:VBA経由でRowsourceが動作しない

frmAddIngredientはユーザーフォームです。

lbxIngredientは、その形式のリストボックスコントロールです。

ユニークインジケータは、ブックのシートの1つです。

NumberOfItemsは1(この場合)です。

エラーは発生しませんが、何も変更されません。この時点でフォーム自体はアクティブではありません。このコードは、後で表示するためにフォームを設定することになっています。

frmAddIngredient.lbxIngredient.RowSource = Sheets("UniqueIngredients").Range("A1:A" & CStr(NumberOfItems)).Address 

最新のコードは、それはまだ実際のフォームでは何も変わりません、

 frmAddIngredient.lbxIngredient.RowSource = "=UniqueIngredients!A1:A1" 

ですけど。

また、新しい投稿を追加することはできますか、これを編集して追加する必要がありますか?

+0

あなたはそれを与えている '1 $ A $:$ A $値の42'を。どのようなワークシートが参照されているかはどのように分かりますか? 'Range.Address'文字列に代入するのではなく、実際の' Range'に 'Set 'しようとしましたか? –

+0

私はあなたの質問を理解していません。ワークシートは "UniqueIngredients"です。ここに入力するのは、列Aのすべてのセルです。私の例では、セルA1のみが必要です。 – JimG

+0

はい、Sheets( "UniqueIngredients")とは何でしょうか?Range( "A1:A"&CStr(NumberOfItems))。 –

答えて

0

(あなたの質問のコメントで説明したように)あなたが望むものはありません。コードで何かを設定してもプロパティウィンドウのプロパティは変更されず、プロジェクトがリセットされるまでは変更されません。

元の名前とキャプションを持つ2つのボタンを持つUserformを考えて、モジュールにこれらの2つのサブを貼り付けます。あなたが最初のSubを実行すると

Sub demo1() 
    UserForm1.CommandButton1.Caption = "Demo 1" 
    UserForm1.Show 
End Sub 

Sub demo2() 
    UserForm1.CommandButton2.Caption = "Demo 2" 
    UserForm1.Show 
End Sub 

demo1ボタン1のキャプションが変更されましたが、ボタン2のキャプションはしていません。

enter image description here

あなたがそのボタン1のキャプションが戻って、それが元のハードセット(プロパティウィンドウ)の名前だとそのNow]ボタン2は、別の名前を持っているのである参照してくださいよ、Userfomを閉じ、今demo2を実行します。

enter image description here

関連する問題