Удалите 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