Как добавить самый верхний и нижний ряд на VBA - PullRequest
0 голосов
/ 09 июля 2019

Я хочу объединить первую и последнюю строку, используя функцию = cell1 & cell2 таблицы, но не удалось, так как номер строки может быть динамическим.

Попытка с использованием относительного расстояния с помощью ctrl + up, нобезрезультатно.

В идеале это код VBA, в котором я могу использовать функцию "&", чтобы объединить самый верхний и последний ряд таблицы, а затем вставить специальный текст сверху как текст

Sub Macro9()
    ActiveCell.FormulaR1C1 = "=R[-9]C&R[-2]C"
    ActiveCell.Select
    Selection.Copy
    Selection.End(xlUp).Select
    Selection.End(xlToRight).Select
    ActiveCell.Offset(2, 0).Range("A1").Select
    Range(Selection, Selection.End(xlToLeft)).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.Copy
    Selection.End(xlUp).Select
    Selection.End(xlUp).Select
    Selection.End(xlUp).Select
    Selection.End(xlToLeft).Select
    ActiveCell.Offset(0, 1).Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

Ответы [ 2 ]

0 голосов
/ 09 июля 2019
Sub MergeCells()
    col = 1    // column A
    lastRow = Cells(Rows.Count, 1).End(xlUp).row
    Mcell = Cells(1, col) & Cells(lastRow, col)
End Sub
0 голосов
/ 09 июля 2019

Если я правильно понимаю, вам нужен способ обратиться к последней ячейке в столбце.

Вы можете сделать это следующим образом:

Set sht = Sheets("main")
column = 1
lastRow = sht.Cells(sht.Rows.Count, column).End(xlUp).Row
Set lastCell = sht.Cells(lastRow, column)

lastCell - переменная диапазона, ссылающаяся на последнюю ячейку в столбце, указанном переменной column. Я явно ссылался на лист, чтобы избежать проблем с активными листами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...