【问题标题】:VBA add incremented values into comboboxVBA将递增值添加到组合框中
【发布时间】:2021-08-07 14:35:18
【问题描述】:

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

LowerFilmWidth_ComboBox.AddItem "300"

在此示例中,我尝试将 300 到 650 的值增加 1

有人可以分享一下代码吗?

【问题讨论】:

    标签: excel vba combobox


    【解决方案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
    

    【讨论】:

    • 嘿,谢谢,在我尝试这个快速问题之前,是否可以使用实际增量来定义它?我知道 (350) 是条目数
    • @Eduards:是的,但我必须更好地理解你的意思......例如,它应该加载从十到十的数字吗?
    • 是的,如果我需要数字 = 10 或“5”之间的间隔,如果将其定义为 Min to max value with increment = value
    • @Eduards:更新后的代码(编辑后)是什么意思? inc 变量可以以任何方式计算。如果您需要修改增量之间的值,是的,它也可以完成。你需要这样的代码吗?再次编辑并为这种情况放置了一个版本......
    【解决方案2】:

    如果你想花哨,你可以使用类似的东西:

    LowerFilmWidth_ComboBox.List = [Row(300:650)]
    

    但为了将来参考,您应该了解 For 循环,您可以在指定的时间间隔内 Step 通过(默认为 1)

    For x = 300 To 650 'Step 1
        LowerFilmWidth_ComboBox.AddItem x
    Next
    

    【讨论】:

    • 我很喜欢 :D,感谢第一个代码完美运行!第二个我可以用于我需要的增量不是 1,而是 5 或 10。谢谢,伙计!
    • 但是它有一个问题。我正在使用从这个组合框中选择的值进行一些数学计算,似乎 excel 并没有像通过 additem 那样处理这个添加的值
    • @Eduards,您能否通过一个示例来解释上述内容,以便人们可以重现您的经历?如果您觉得这是一个单独的问题,您可以打开一个新问题供人们回答。
    • 不,我想通了。我只是让人们知道,如果通过“.List”添加值,则它们不能用于数学运算,但如果使用“.additem”添加值,那么确实可以将值用于数学运算。也就是说,如果在等式中,变量被设置为组合框值
    • 很奇怪,因为我做不到,但无论如何……现在一切都好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多