Как мне удалить 5 строк после последней строки в Excel? - PullRequest
0 голосов
/ 01 июля 2019

Привет, мне нужно удалить 5 строк на листе. Есть два набора данных, один сверху и один снизу. 5 рядов между ними. не все 5 строк являются пустыми. поэтому мне нужен код для удаления строк.

Я попробовал метод ниже, потому что всегда есть пустая строка после первого набора данных

Const fiveRow = 5
Dim lastrow As Long, r As Range, ws As Worksheet, i As Integer
Set ws = ActiveSheet
With ws

    For i = 1 To 5
    ' This clears 5 rows
    .Cells(.Rows.Count, 1).End(xlUp).Offset(i, 0).Resize(.UsedRange.Rows.Count, 1).EntireRow.Delete
    Next i
End With

1 Ответ

2 голосов
/ 01 июля 2019

Вы можете использовать что-то вроде следующего:

Option Explicit

Sub DeleteGap()

    Dim lRow As Long
    Dim ws As Worksheet
    Dim i As Long

    Set ws = Sheets("Sheet1")

    'first get the last row of the first set of data
    'then use this as referenc to delete the gap
    lRow = ws.Range("A1").End(xlDown).Row

    'if all 5 are blank - delete
'    ws.Range("A" & (lRow + 1), "A" & (lRow + 5)).EntireRow.Delete

    'if not all 5 are blank then loop through to find blank
    For i = lRow To lRow + 5
        If ws.Range("A" & i).Value = "" Then
            ws.Range("A" & i).EntireRow.Delete
        End If
    Next i

    'clear the object
    Set ws = Nothing

End Sub

Настройте диапазон "A" в соответствии с вашими требованиями.

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