VBA объединяет две ячейки, которые всегда будут находиться в ячейках 2 ряда под последней строкой с данными в нем - PullRequest
0 голосов
/ 01 октября 2018

Я новичок в 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 голосов
/ 02 октября 2018

Нет неуважения к @BigBen, но ваш записанный код можно очистить еще больше, большая часть добавленного кода является кодом по умолчанию и может быть удалена.Кроме того, ваш диапазон может быть очищен с помощью Cells, Offset и Resize.

With Cells(lRow, 3).Offset(2).Resize(, 2)
    .HorizontalAlignment = xlCenter
    .Merge
End With 
0 голосов
/ 01 октября 2018

"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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...