3

電卓として機能する 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

ただし、両方のコードを開いて実行すると、コンボボックスは空になり、リストはありません。

最も簡単な解決策は、プロパティの下の行ソース ボックスにフル パス (ワークブック名​​を含む) を入力することだと思います。しかし、そのエラーが発生するので、何かが欠けているに違いありませんか?

すべての助けをいただければ幸いです。

ありがとう

4

3 に答える 3

2

コンボボックスの行ソース プロパティを次のように設定しSheetName!$Col$Row:$Col$RowますLocation!$A$1:$A$3

于 2013-08-01T09:31:42.203 に答える