電卓として機能する Excel のユーザーフォームがあります。
このユーザーフォームには、2 つの ComboBoxs (1 & 2) があります。
VBA エディターで、ComboBox1 を選択した状態で、[プロパティ] の [Rowsourse] の下に、Sheet1!a4:a5 があります。
Sheet1 では、A4 = オークランド、A5 = クライストチャーチ
これで問題ありません。ユーザーフォームを実行すると、2 つのオプション (オークランドまたはクライストチャーチ) のドロップダウン矢印が表示されます。
ただし、私の問題は、このワークブックを開くと、ユーザーの視界からそれを非表示にする VBA コマンドがあり、操作するユーザーフォームのみが必要なことです。
問題は、別のワークブックを開いている場合に、この電卓ワークブックを開くことです (自動的に非表示になります)。次に、ユーザーフォームの元である「オークランド」と「クライストチャーチ」を実際に含むワークブックではなく、既に開いている他のワークブックの Sheet1!a4:a5 によってコンボボックスリストが作成されます。
プロパティの行ソース ボックスに [book1.xlsm]sheet1!a4:a5 を入力して、コンボ ボックスの行ソースをより具体的にしようとしましたが、「無効なプロパティ値」というエラー メッセージが表示されます。
私も作ってみました:
Private Sub Userform1_Initialize()
ComboBox1.Additem "Auckland"
ComboBox1.Additem "Christchurch"
End Sub
また、これを試しました:
Private Sub Userform1_Initialize()
ComboBox1.RowSource = Workbooks("book1.xlsm").Sheets("Sheet1").Range("a4:a5").Value
End Sub
ただし、両方のコードを開いて実行すると、コンボボックスは空になり、リストはありません。
最も簡単な解決策は、プロパティの下の行ソース ボックスにフル パス (ワークブック名を含む) を入力することだと思います。しかし、そのエラーが発生するので、何かが欠けているに違いありませんか?
すべての助けをいただければ幸いです。
ありがとう