Excel VBA – Как выбрать всю таблицу границ

Я очень новичок в Excel VB. Я надеюсь, что вы сможете помочь с моей проблемой.

У меня есть несколько таблиц, подобных этому это

Таблицы можно редактировать, например, путем добавления новых строк и т. Д. Пользователем.

Я хочу выделить и скопировать последнюю таблицу (одну в последней строке) и вставить ее в следующее свободное место, 3 строки вниз. Мне удалось это сделать, но я могу только выделить и скопировать ячейки с данными. Поэтому, если в середине таблицы есть пустая строка или пустая последняя строка с границами, она не будет копироваться правильно, как показано ниже:

Вот

Мне все еще нужно копировать все в пределах границ, включая пустые строки, но мне не хватает навыков и знаний для этого. Надеюсь, вы сможете помочь.

Ниже приведен мой код:

Sub CopyPaste() LastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row FirstColumn = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlNext).Column LastColumn = Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column BelowLastName = Cells.Find("", After:=Cells(LastRow, FirstColumn), SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Row Cells(BelowLastName, FirstColumn).Select 'This selects C5 (refer image) Selection.Offset(-1).Select 'This selects C4 (refer image) Range(Selection, Cells(LastRow, LastColumn)).Select 'This highlights whole table Selection.Copy Cells(LastRow, FirstColumn).Select ActiveCell.Offset(3).Select ActiveSheet.Paste Application.CutCopyMode = False End Sub 

Попробуй это

 Sub x() Dim rEnd As Range, rStart As Range, i As Long Set rEnd = Range("C" & Rows.Count).End(xlUp) Do While rEnd.Offset(i).Borders(xlEdgeBottom).LineStyle = xlContinuous i = i - 1 Loop Set rStart = rEnd.Offset(i + 1) Range(rStart, rEnd).Resize(, 8).Copy rEnd.Offset(3) End Sub 
  • Использование элемента управления «RefEdit» для проверки определенного диапазона
  • Excel VBA - копировать несколько столбцов не в порядке последовательности
  • Использование именованного диапазона в функции VBA для VLOOKUP
  • Диапазон с использованием символьной переменной
  • Excel VBA Копирование в таблицу
  • Получить значение из таблицы; один индекс находится в диапазоне
  • Как определить динамические диапазоны в Calc (или Excel)?
  • Очистить содержимое в определенных строках vba
  • Использование методов Range и Union из Win32com Python
  • Python xlrd Именованный диапазон для имен таблиц
  • Range.ArrayFormula, вызывающий ошибку в конкретных случаях
  • Interesting Posts

    Создать новый рабочий лист на основе ячейки, но игнорировать пустую ячейку

    выбор второй строки текущей строки excel vba

    Сравнить значения в одной или нескольких книгах

    Как вставить последнюю строку столбца B в excel?

    Заменить странный или специальный символ в строке

    Matlab окрашивает ячейку excel

    Ошибка свойства RowSource vba

    Сортировка данных по 2 значениям

    Autohotkey запускает макрос Excel VBA, но изменения не применяются

    Как добавить данные в существующий файл XLSX в MATLAB каждый раз с помощью кнопки?

    Excel Macro для копирования и вставки в соответствии с элементом comboBox

    Скопируйте 3 рабочих листа в новую книгу – 1 только с видимыми ячейками – остальные 2 со значениями

    VBA – Функция вызова из пользовательской формы вызывает странные ошибки

    Ошибка времени выполнения «1004» при применении автоматического фильтра на скрытом листе

    Формула Excel UDF не появляется

    Давайте будем гением компьютера.