別のユーザー選択に基づいてドロップダウンリストを埋めたい。それに関連するものはオンラインで見つかりません。
次のテーブルを含むlookupDeptというワークブックがあります。
A B
== ==============================
BS Business School
CG Chemical Engineering
ここで、列 Aには定義された名前deptCodeがあり、列 Bには定義された名前deptNameがあります。次のテーブルを含むlookupModuleという 2 番目のワークブックがあります。
A B C
====== ================================================== ==
BSA005 Organisational Behaviour BS
BSA007 Skills for Study BS
CGA001 Fluid Mechanics I MEng & BEng Status CG
CGA002 Stagewise Processes CG
フォームのcbo_moduleCodeを更新して、 lookupDeptの列 AがlookupModuleの列 Cと一致する範囲を選択しようとしています。これは私が使用しているコードです:
したがって、ユーザーがフォームでBS - Business School ( lookupDeptワークブックから抽出されたもの)を選択した場合、 lookupModuleワークブックの列 C にBSを含むすべてのフィールドを選択する必要があります。これは、これまでに使用したコードです。
Private Sub UserForm_Initialize()
Dim c_deptCode As Range
Dim c_deptName As Range
Dim deptCodes As Variant
Dim deptNames As Variant
Dim ws_dept As Worksheet
Dim ws_misc As Worksheet
Set ws_dept = Worksheets("lookupDept")
Set ws_misc = Worksheets("lookupMisc")
' Assign each range to an array containing the values
deptCodes = Choose(1, ws_dept.Range("deptCode"))
deptNames = Choose(1, ws_dept.Range("deptName"))
' Create deptcode+deptname cbo
For i = 1 To ws_dept.Range("deptCode").Rows.Count
CombinedName = deptCodes(i, 1) & " - " & deptNames(i, 1)
cbo_deptCode.AddItem CombinedName
Next i
End Sub