Удалить все строки после N числа в Excel - PullRequest
0 голосов
/ 14 января 2020

У меня есть Excel, имеющий 100 листов. Каждый лист имеет более 40 тысяч строк. Я хочу сохранить только первые 20 строк ( или даже любые 20 строк, если первые 20 невозможны ) и удалить все оставшиеся строки. Как это сделать в Excel? Есть ли какая-нибудь формула? В настоящее время я вручную выбираю и удаляю строки.

Ответы [ 2 ]

2 голосов
/ 14 января 2020

Вам нужен простой l oop через ваш Worksheets, и согласно вашему требованию; Вы можете исключить определенные листы, поместив их в массив. Например:

Sub Test()

Dim arr As Variant: arr = Array("Sheet1", "Sheet2") 'Exclude these
Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets
    'Check if ws should be excluded
    With Application
        If .Count(.Match(ws.Name, arr, 0)) = 0 Then
            'Remove data from row 21 onwards
            ws.Range("21:" & ws.Rows.Count).EntireRow.Delete
        End If
    End With
Next

End Sub
2 голосов
/ 14 января 2020
Sub WorksheetLoop()

Dim ws As Worksheet

For Each ws In ActiveWorkbook.Worksheets
    ws.Range("21:40000").EntireRow.delete
Next ws

End Sub

Это должно сработать.

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