VBA 将递增的值添加到组合框中

Edu*_*rds 0 excel vba combobox

| 我想知道如何通过值的增量从一个值到另一个值填充组合框的项目列表?我现在的做法是通过以下方式手工完成:

LowerFilmWidth_ComboBox.AddItem "300"
Run Code Online (Sandbox Code Playgroud)

在此示例中,我尝试以 1 为增量添加从 300 到 650 的值

请问有人可以分享这样做的代码吗?

Fan*_*uru 5

请尝试下一个代码:

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
Run Code Online (Sandbox Code Playgroud)

编辑

允许以不同增量递增的版本:

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
Run Code Online (Sandbox Code Playgroud)

编辑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
Run Code Online (Sandbox Code Playgroud)