【发布时间】:2021-08-07 14:35:18
【问题描述】:
|我想知道如何通过值的增量从一个值到另一个值填充组合框的项目列表? 我现在的方式是手动通过:
LowerFilmWidth_ComboBox.AddItem "300"
在此示例中,我尝试将 300 到 650 的值增加 1
有人可以分享一下代码吗?
【问题讨论】:
|我想知道如何通过值的增量从一个值到另一个值填充组合框的项目列表? 我现在的方式是手动通过:
LowerFilmWidth_ComboBox.AddItem "300"
在此示例中,我尝试将 300 到 650 的值增加 1
有人可以分享一下代码吗?
【问题讨论】:
请尝试下一个代码:
Sub AddIncrementedNrCombo()
Dim i As Long, arr(350)
For i = 300 To 650
arr(i - 300) = i
Next i
LowerFilmWidth_ComboBox.list = arr
End Sub
已编辑:
允许以不同增量递增的版本:
Sub AddIncrementedNrCombo()
Dim i As Long, arr(350), k As Long, inc As Long
inc = 10 'it can be calculated
For i = 300 To 650 Step inc
arr(k) = i: k = k + 1
Next i
ReDim Preserve arr(k - 1)
LowerFilmWidth_ComboBox.list = arr
End Sub
编辑2:
Sub AddIncrementedNrComboVar()
Dim i As Long, arr(), k As Long, mN As Long, mX As Long, inc As Long
mN = 300 'min
mX = 650 'max
inc = 10
ReDim arr(mX - nm)
For i = mN To mX Step inc
arr(k) = i: k = k + 1
Next i
ReDim Preserve arr(k - 1)
LowerFilmWidth_ComboBox.list = arr
End Sub
【讨论】:
inc 变量可以以任何方式计算。如果您需要修改增量之间的值,是的,它也可以完成。你需要这样的代码吗?再次编辑并为这种情况放置了一个版本......
如果你想花哨,你可以使用类似的东西:
LowerFilmWidth_ComboBox.List = [Row(300:650)]
但为了将来参考,您应该了解 For 循环,您可以在指定的时间间隔内 Step 通过(默认为 1)
For x = 300 To 650 'Step 1
LowerFilmWidth_ComboBox.AddItem x
Next
【讨论】: