我必须合并2个单元格,每次运行时范围可能会有所不同。我正在尝试下面的代码,但代码有一些错误,我无法识别。对于固定范围,它的工作正常,但对于变量,它显示错误。行号是需要合并的单元号,每次运行时都会有所不同:
Range("D" & line_no & ":" "E" & line_no & ).Select
Range("D" & line_no).Activate
With Selection
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
答案 0 :(得分:3)
我会尽力摆脱Select
。你可以这样做:
With Range("D" & line_no & ":" & "E" & line_no)
.VerticalAlignment = xlCenter
.HorizontalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
答案 1 :(得分:1)
您的问题在于字符串连接。评论涵盖了那一部分。
如果在整个程序中使用此范围,我建议在变量中使用此范围:
定义指向所需范围的字符串:Dim rng As String: rng = "D" & line_no & ":E" & line_no
,然后像这样使用它:
Range(rng).Select
Range(rng).Activate
OR
在变量中定义范围和存储范围,而不是字符串“
Dim rng As Range
Set rng = Range("D" & line_no & ":E" & line_no)
rng.Select
rng.Activate
'...