2

2つのExcelスプレッドシートがあり、1つにはコンボボックスがあり、もう1つには部門名のリストがあります。コンボボックスに部門名を入力する必要があります。どうすればこれを達成できますか。

4

1 に答える 1

19

VBAコードは次のとおりです。

Dim vArr as Variant
Dim i as Integer
vArr = WorksheetFunction.Transpose(Sheets(2).Range("A2:A10").value)
With Sheets(1).OLEObjects("ComboBox1").Object
     .Clear
     For i = Lbound(vArr) to Ubound(vArr)
        .AddItem vArr(i)
     Next i
End With

部門の範囲が空にならない場合、コンボボックスをロードする最も簡単な方法は次のとおりです...

Private Sub Workbook_Open()
    Sheets(1).ComboBox1.List = Sheets(2).Range("A2:A10").Value
End Sub

またはSheet1内:

Private Sub Worksheet_Activate()
    ComboBox1.List = Sheets(2).Range("A2:A10").Value
End Sub
于 2013-01-18T04:24:01.993 に答える