我有一张包含大量行的 Excel 表。
我想随机抽取 100 行并隐藏其余行,每 500 行显示 1 行,或者完全随机选择整个工作表也可以。
我怎样才能做到这一点?
答案1
答案2
这完全基于贝特桑的优秀方法(该宏可自动执行)。
假设我们从单列开始,然后按照 Batesan 的建议添加了一列=RAND()
:
在我的简单示例中,表格只有18条目,我想选择3随机的。
运行简短的宏:
Sub PickThree()
Dim sh As Worksheet, rng As Range
Set sh = ActiveSheet
Set rng = sh.Range("A1:B19")
If sh.AutoFilterMode = False Then rng.AutoFilter Field:=2
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
Calculate
rng.AutoFilter Field:=2, Criteria1:="3", Operator:=xlTop10Items
End Sub
生成:
每次重新运行宏时,都会选择一组新的三行随机行!