【发布时间】:2017-05-23 15:04:54
【问题描述】:
进入选项卡“设置”我有自动生成的工作表列表:
列格式:格式 A 看起来相同的工作表,只包含不同的值,所有 格式 B 看起来也一样,包含再次不同的价值观。
现在我正在向组合框添加值:
Dim db_rows As Long, i As Long
Dim wbs As Workbook
Dim wss As Worksheet
Set wbs = ActiveWorkbook
Set wss = wbs.Worksheets("setting")
db_rows = wss.Cells(Rows.Count, 1).End(xlUp).Row
With cb3
.Clear
For i = 2 To db_rows
If wss.Cells(i, 1).Value <> "" Then
.AddItem wss.Cells(i, 2).Value
End If
Next i
End With
Me.cb3.ListIndex = 0
然后我想根据点击 cb3 的值填充 listBox2。但下面的代码对所有格式都一样。
Dim NameArray As Variant
With Sheets(Me.cb3.Value)
NameArray = .Range(.Range("B6"), .Range("B6").End(xlDown))
NameArray = .Range("A8:H100")
End With
listBox2.List = NameArray
请帮忙。
不同范围的示例,基于格式:
格式 A: 范围:A8:H100
格式 B: 范围:B10:G50
格式 C: 范围:C20:B30 等等……
【问题讨论】:
-
你能告诉我们输出是什么和它应该是什么?
-
请查看不同范围的示例
-
所有工作表都得到相同结果的原因是因为在您尝试用
.Range(.Range("B6"), .Range("B6").End(xlDown))占用NameArray数组后,您“覆盖”它的下一行与NameArray = .Range("A8:H100")(总是相同的大小) -
那么如何调整它以适应不同的来源?就像一次是格式A,下一次是格式B?并且来源应该是不同的
标签: vba excel combobox listbox listboxitem