我有一个 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
格式化