Excel VBA - 在 For 循环中选择行

Excel VBA - 在 For 循环中选择行

我有一个 for 循环,它遍历第 I 列并查找值何时超过某个点。然后它插入一行。我需要编辑这一行。我需要合并其中的一部分并插入文本等等。现在,我的代码只是合并 E - I 的整个列。我该如何让它只合并那一行?

这就是我现在所拥有的:

For Each cel In Range("I:I")
    If cel.Value >= "15AQ08" And Pick = "Truck" And cel.Row <> 1 Then
        cel.EntireRow.Insert
        Range("E:I").Merge
        Exit For
    End If
Next

答案1

代替

Range("E:I").Merge

要合并到新插入的行,使用

cel.Offset(-1, -4).Resize(, 5).Merge

或者,要合并包含匹配项的行,请使用

cel.Offset(0, -4).Resize(, 5).Merge

要获取范围的引用,请使用

Set rng = cel
rng.Offset(-1, -4).Resize(, 5).Merge

然后使用rng写入值并rng.mergearea格式化

相关内容