2014-11-03 64 views
-1

我已经为组合框定义了一个数据库列表。在每一列上,我都有各种选项分别填充组合框。当我运行我的用户表单时,头两个组合框(客户端和产品)显示选项就好了。为什么其他组合框会列出客户端选项?VBA组合框不要“介意”我的动态范围选择

Private Sub UserForm_Initialize() 
 
Dim cClient As Range 
 
Dim cProduct As Range 
 
Dim cSize As Range 
 
Dim cType As Range 
 
Dim cTax As Range 
 

 
Dim ws As Worksheet 
 
Set ws = Worksheets("aux") 
 

 
For Each cClient In ws.Range("ClientList") 
 
    With Me.comboClient 
 
    .AddItem cClient.Value 
 
    End With 
 
Next cClient 
 

 
For Each cProduct In ws.Range("ProductList") 
 
    With Me.comboProduct 
 
    .AddItem cProduct.Value 
 
    End With 
 
Next cProduct 
 

 
For Each cSize In ws.Range("ClientList") 
 
    With Me.comboSize 
 
    .AddItem cSize.Value 
 
    End With 
 
Next cSize 
 

 
For Each cType In ws.Range("ClientList") 
 
    With Me.comboType 
 
    .AddItem cType.Value 
 
    End With 
 
Next cType 
 

 
For Each cTax In ws.Range("ClientList") 
 
    With Me.comboTax 
 
    .AddItem cTax.Value 
 
    End With 
 
Next cTax 
 

 
Me.textDate.Value = Format(Date, "Medium Date") 
 
Me.textDate.SetFocus 
 

 
End Sub

+0

这似乎是一个简单的印刷错误,即您已复制/粘贴代码段并无意中忘记更改每个组合框所指的命名范围:) – 2014-11-03 18:00:15

+0

感谢您的回复,修复:) – 2014-11-13 16:03:07

回答

0

看来你填补这些组合框从客户端列表范围值。尝试从工作表上的其他范围提取值(例如For Each cSize In ws.Range ("SizeList")

+0

感谢您的时间,现在修复! – 2014-11-13 16:03:24