で名前付き範囲Iは、ユーザーフォームで使用されるコンボボックス、値集合ソースとしてのその使用名前付き範囲を有しています。場合行
すべての私の名前付き範囲をVBAでSelection.CreateNamesのExcelでCreate names from selections
から製造されました。ここで
コードです:ここでは
Private Sub UserForm_Initialize()
Dim row As Integer 'In the example, row = 1, but in real life I'll want to create many named ranges from items listed as rows.
Dim lastCol As Integer 'Needed because my named ranges will vary in length
Dim ws As Worksheet 'Where my data is
Set ws = Worksheets("tests")
row = 1
lastCol = ws.Cells(row, Columns.Count).End(xlToLeft).Column
ws.Range(Cells(row, 1), Cells(row, lastCol)).Select
'Create the named range
Selection.CreateNames Left:=True
'Assign the named range (via its name, found in column 1) to the ComboBox RowSource
ComboBoxSampleForSO.RowSource = ws.Cells(row, 1).Value
End Sub
Name manager
ているすべての私の名前は(すなわち、これらのすべてのリストが正しいの要素)を正しいと言われます:
問題:最初の要素だけがdisplayeありますdをComboBoxに追加します。
この問題はときに発生しません:
- 名前付き範囲は列ではなく行のデータから作成された
- 私が直接(
Data validation
を使用して)私のワークシートのドロップダウンリストを作成します。
私はこの問題を解決することはできますか?
はあなたの例の行と(レンジでコンボボックスをロードするためとVBA)Selection.CreateNamesを呼び出すためにVBAを使用するために使用されるコード – dbmitch
は、ユーザーフォーム上のコンボボックスであることを示しますか? – dbmitch
'Combobox.List'プロパティを見てください。 –