2013-04-09 81 views
0

我是vba excel的新手,我已经成功地添加了一个依赖于下拉列表选择的条件组合框,我面对的问题是每当我点击组合框中的任何项时,在点击后没有出现在框中。ComboBox选择中的问题

任何人都可以请帮我解决这个问题。

谢谢

我使用的代码是:

Private Sub ComboBox1_DropButtonClick() 
ComboBox1.Clear 


If Worksheets("Sheet1").Cells(2, 1).Value = "PHE" Then 
With ComboBox1 

For row = 1 To 1300 
.AddItem Sheets("Sheet2").Cells(row, 6) 
Next row 
End With 

End If 

If Worksheets("Sheet1").Cells(2, 1).Value = "HSS" Then 
With ComboBox1 
For row = 2 To 56 
.AddItem Sheets("Sheet2").Cells(row, 8) 
Next row 
End With 

End If 

If Worksheets("Sheet1").Cells(2, 1).Value = "Decanter" Then 
With ComboBox1 
For row = 3 To 249 
.AddItem Sheets("Sheet2").Cells(row, 9) 
Next row 
End With 

End If 

End Sub 

回答

0

如果你能以某种方式解释了所选择的价值,或许你可以只重置组合框的值。这仅适用于正确选择值的情况,仅在组合框中不可见。

ComboBox1.Value = something 

而且,这可能是更清洁的(这里写代码,所以错别字可能存在)。

Private Sub ComboBox1_DropButtonClick() 

ComboBox1.Clear 

Select Case Worksheets("Sheet1").Cells(2, 1).Value 
Case "PHE" 
    minrow = 1 
    maxrow = 1300 
    col = 6 
Case "HSS" 
    minrow = 2 
    maxrow = 56 
    col = 8 
Case "Decanter" 
    minrow = 3 
    maxrow = 249 
    col = 9 
Case Else 
    'error handling 
End Select 

With ComboBox1 
    For row = minrow To maxrow 
    .AddItem Sheets("Sheet2").Cells(row, col) 
    Next row 
End With 

End Sub 
+0

谢谢你一个更干净的代码,但你能告诉我如何直接在我们的“点击”的ComboBox1.Value =东西 – 2013-04-09 05:31:27

+0

这是组合框的值,我们怎么能在其上组合框项目我们点击以显示在组合框中。请帮忙 – 2013-04-09 05:33:42