簡體   English   中英

組合框列表中的動態范圍

[英]Dynamic range in combobox list

我正在使用兩種方法在組合框行源中構建動態名稱列表。 首先,我使用:

與Sheet2

RateComboBox.RowSource =“'”&.Name&“'!” &.Range(“ b9”,.Range(“ c33”)。End(xlUp))。地址結尾為

控制源設置為工作表上的單元格,並且綁定的列為第1列,或者范圍b9:b33的范圍為數字1-25,列數為2,第二列列表名稱為(1-25)他們被添加。 在范圍C9:C33填滿之前,它一直很好用,這時下拉列表顯示一個偽造的列表,其中包含從B1開始的項目(文本)。 怎么了?

在第二種情況下,我使用:

Me.ComboBox1.RowSource = Worksheets(“ Form”)。Range(“ B8”,Range(“ B32”)。End(xlUp))。Address

其中在b8:B32范圍內添加了名稱。 控制源設置為工作表上的單元格,裝訂的列為第1列。同樣,它很好用,直到(列表)范圍已滿。 在這兩種情況下,我只希望列出組合框中的項目(名稱),因為它們是在這些范圍內添加的。 ??

對於這樣的第一部分:

If Len(.Range("c33").Value) Then
  RateComboBox.RowSource = "'" & .Name & "'!B9:C33"
Else
  RateComboBox.RowSource = "'" & .Name & "'!" & .Range("b9", .Range("c33").End(xlUp)).Address
End If

對於第二部分,它也一樣:

If Len(Range("B32").Value) Then
  Me.ComboBox1.RowSource = Worksheets("Form").Range("B8:B32").Address
Else
  Me.ComboBox1.RowSource = Worksheets("Form").Range("B8", Range("B32").End(xlUp)).Address
End If

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM