VBA合并两个单元格,这些单元格将始终位于最后一行下方两行的单元格中,其中包含数据

时间:2018-10-01 20:10:18

标签: excel vba excel-vba

我是VBA的新手。我正在编写一个宏,需要合并C和D列中的两个单元格,这些单元格将始终出现在最后一行下面的第二行中,其中包含数据。以下脚本是我正在尝试执行的操作,但是继续收到错误消息。任何帮助或想法表示赞赏。

ActiveSheet.Range("C:D" & Lastrow + 2).Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Merge

2 个答案:

答案 0 :(得分:4)

"C:D" & LastRow + 2不是有效的Range引用。无需Select

With Range("C" & LastRow + 2 & ":D" & LastRow + 2)
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
    .Merge
End With

答案 1 :(得分:1)

不要无视@BigBen,但是可以更清理您记录的代码,添加的大多数代码都是默认代码,可以删除。另外,可以使用CellsOffsetResize清理范围。

With Cells(lRow, 3).Offset(2).Resize(, 2)
    .HorizontalAlignment = xlCenter
    .Merge
End With