Excel VBA – 如何select整个边界表

我很新的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