用宏吧,快捷方便!
我写了一个,请试下。
运行后,Excel先会提示你输入需要删除的比率(默认为带%,20%就输入20),然后Excel计算需要删除的行数据,最后并与你确认是否要执行删除。
Sub RndDelete()
Dim TotalRow As Long, NeedDel As Long, DelRate As Single, i As Integer, R As Long
Application.ScreenUpdating = False
ActiveCell.SpecialCells(xlLastCell).Select
While WorksheetFunction.CountA(Rows(ActiveCell.Row())) = 0 And ActiveCell.Row() > 1
ActiveCell.Offset(-1, 0).Range("A1").Select
Wend
Application.ScreenUpdating = True
TotalRow = ActiveCell.Row()
DelRate = Application.InputBox("当前有效数据为 " & TotalRow & " 行, 请输入需要删除的比率(%)", _
"随机删行", 10, , , , , 1)
If DelRate = 0 Then Exit Sub
NeedDel = DelRate / 100# * TotalRow
If MsgBox("将要删除的行数为 " & NeedDel & "! 确定要这样做吗?", _
vbQuestion + vbYesNoCancel + vbDefaultButton2) <> vbYes Then Exit Sub
For i = 1 To NeedDel
R = Int((TotalRow * Rnd) + 1)
Cells(R, 1).EntireRow.Delete
TotalRow = TotalRow - 1
Next i
End Sub
强烈建议,每次执行任何宏之前,都 Ctrl+S 保存一下当前文件,因为宏的操作无法撤消。
有疑问,请Hi我或给我发百度消息
GoodLuck!
温馨提示:答案为网友推荐,仅供参考