【发布时间】:2016-10-15 14:05:08
【问题描述】:
我试图让这段代码说“如果第 3 列 (C) 中的单元格 = 单词“高”或“中”,则将第 4 列 (D) 中的匹配单元格合并并居中,只有下面的单元格它。但是,我现在的反应方式是由于 .End(xlDown) 一直合并到底部。我不知道如何解决这个问题。这里是数据示例以及我希望它的外观:
这是我一直在使用的 VBA 代码:
Sub Merge_Priority2()
Dim RgToMerge As String
For i = 1 To ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
RgToMerge = ""
If LCase(Cells(i, 3)) = "high" Or LCase(Cells(i, 3)) = "middle" Then
RgToMerge = "$D$" & Cells(i, 4).End(xlDown).Row & ":$D$" & i
With Range(RgToMerge)
.Merge
.HorizontalAlignment = xlCenterAcrossSelection
.VerticalAlignment = xlCenter
End With
Else
End If
Next i
End Sub
【问题讨论】:
-
我想删除
.End(xlDown)。 -
不,它只是将未合并的单元格居中