首页 > 解决方案 > 如何通过合并单元格的 1 行将项目添加到组合框,直到最后一个条目并跳过空 - vba

问题描述

我的 VBA 项目有问题。我的表结构如下所示:

示例表

通过用户交互,可以删除一年并将单元格留空,直到使用导入功能添加新数据。但是按年份升序对块进行排序是另一回事,但现在并不重要...

我有一个combobox应该添加所有“年”。稍后,用户将能够使用textbox.

我的问题:

我需要一些(或一行)代码行,它将遍历“年”行并将每年添加到combobox该行中的最后一个条目。如果有任何空白单元格,则不应将它们添加到combobox. 我无法处理空单元格,尤其是合并的单元格。它只是从 B6(2000 年)跳到 C6(被识别为空)并中断。它应该从 B6 跳转到 F6(这确实是一个空的合并单元格),然后转到 J6(这是该行中包含数据的最后一个条目)。

我对 VBA 很陌生,它让我发疯。我确实有一些使用 python 和 bash 的经验,所以阅读和理解代码不是问题。

希望有人对此有很好的提示!

更新我的尝试

这不会超过 C6:

Dim Cell As Range
    For Each Cell In Range("B6", Range("B6").End(xlToRight))
    Sheets("Sheet1").ComboBox1.AddItem (Cell.Value)
    Next Cell

这将产生溢出:

Sheets("Sheet1").ComboBox1.List = Application.Transpose(Range("B6", Range("B6" & Columns.Count).End(xlToRight)).Value)

标签: excelvba

解决方案


推荐阅读