2016-09-27 73 views
-2

這是我在這個論壇上的第一篇文章。我有一個關於VBA的簡單問題,帶有列表框的用戶表單。我的目標是選擇兩個選項並返回列表框中的名稱列表。我附上了示例userform和我將從中選擇的示例表。任何幫助,將不勝感激。在VBA中的列表框的用戶表單

Worksheet

Current VBA for Userform

Private Sub ListBox1_Click() 

Sheets("Trainers1").Range("I2") = ListBox1 


End Sub 

Private Sub ListBox2_Click() 

Sheets("Trainers1").Range("I2") = ListBox2 


End Sub 

Private Sub ListBox3_Click() 

Sheets("Trainers1").Range("I3") = ListBox3 

End Sub 

Private Sub ListBox4_Change() 

.ListBox4 = Sheets("Trainers1").Range("K2:K10") 

End Sub 

Private Sub UserForm_Initialize() 

Dim cnt 
Dim cntr As Integer 

cntr = Application.WorksheetFunction.CountA(Sheets("Shift Pattern Key").Range("A:A")) 
cnt = Application.WorksheetFunction.CountA(Sheets("Training Ratio").Range("A:A")) 

For i = 2 To cntr 


ListBox2.AddItem Sheets("Shift Pattern Key").Cells(i, 1) 

Next i 

For i2 = 2 To cnt 

ListBox3.AddItem Sheets("Training Ratio").Cells(i2, 1) 

Next i2 

End Sub 
+1

首先,你有什麼嘗試?所以SO不會爲你編寫整個代碼,但我們都樂意幫你解決問題。其次,你需要提供更多信息。將選擇哪些值?你如何使用這些來選擇名稱?這完全有可能,但你需要幫助我們來幫助你。 – Kyle

+0

我調整了我目前的帖子,包括兩張不同的圖片可能會有所幫助。對不起,從我的第一篇文章以來的困惑。我不能讓它列出符合列表框中的條件的員工姓名。 –

+0

你能解釋一下標準嗎?我可以猜出具體的標準是什麼,但是你應該已經知道它的含義了。 – Kyle

回答

0

你可以通過你的表中的行迭代,每行選擇的值比較值。如果一行中的兩個值都與用戶選擇的值匹配,則可以使用.AddItem方法將該員工的名稱添加到列表中。