循环遍历列中的单元格/合并单元格

时间:2018-03-14 09:39:02

标签: excel vba excel-vba

我对Excel VBA非常陌生,并且不熟悉所有不同的功能。这就是我想要发生的事情:

我有一个包含单元格和合并单元格组合值的列。我必须在该列的 循环中执行操作。我希望循环从1个单元格移动到下一个单元格而不是基于行。例如,单元C1是合并单元(C1-C3),因此循环接下来应该转到C4而不是C2。 在附图中,我希望循环像C1 - >; C4-> C5 - > C7 - > C11和那样......

enter image description here

1 个答案:

答案 0 :(得分:3)

试试这个:我的样本数据在 Sheet1 上(合并的单元格已经勾勒出来)

sample data

代码:在 Sheet1模块

Option Explicit

Public Sub SkipMerged()

    Dim colA As Range, itm As Range

    Set colA = Me.UsedRange.Columns(1)

    Set itm = colA.Cells(1)

    While Len(itm.Value2) > 0

        Debug.Print "Merged area: " & itm.MergeArea.Address(0, 0)

        Set itm = itm.MergeArea.Offset(1)

    Wend

End Sub

立即窗口中的输出:

Merged area: A1:A3
Merged area: A4
Merged area: A5:A6
Merged area: A7:A9