Удалите n% строк из листа Excel одним нажатием кнопки, используя VBA или любую формулу Excel, если это возможно.

Я хочу удалить n% ячеек из листа1, листа2, листа3, листа4. Процент будет указан в названии листа как необработанный. Например, в необработанном листе в E19 задано 10%, поэтому на каждом листе S1,S2,S3,S4 он должен удалить всего 10% строк данных. (пример: лист 1 имеет 100 строк с данными, поэтому на 10% он должен удалить 10 строк из 100 строк и аналогично для других листов. Я много исследовал, но не получил ничего относящегося к этому.

1 ответ

Чтобы удалить первые x процентов строк, вы можете сделать это следующим образом:

s.Range(s.Cells(1, 1), s.Cells(s.UsedRange.Rows.Count * Range("Percentage").Value, 1)).EntireRow.Delete

Где диапазон ("Процент") - это ячейка, в которой указаны ваши проценты.

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

Sub deleteFirstPercentageOfRows()
Dim s As Worksheet
    For Each s In ThisWorkbook.Sheets
        If s.Name <> "raw" Then
            s.Range(s.Cells(1, 1), s.Cells(s.UsedRange.Rows.Count * Range("Percentage").Value, 1)).EntireRow.Delete
        End If
    Next s
End Sub
Другие вопросы по тегам