我只是想在用户选择的范围内随机选择一行。但是,有时程序会选择特定范围之外的随机行。请参阅下面的代码摘录:
Dim PopulationSelect As Range
Set PopulationSelect = Application.InputBox("Select range of cells in the population", Type:=8)
RandSample = Int(PopulationSelect.Rows.Count * Rnd +1)
Rows.(RandSample).EntireRow.Select
有谁知道这是为什么,如何解决?
提前致谢。
最佳答案
这是因为您的随机样本是从 1 到行数,并且您的选择函数在整个工作表上起作用。
因此,如果 populationSelect 是 A50:A51,您的 rand 样本将为 1 或 2,它会选择第 1 行或第 2 行
尝试
Sub test()
Dim PopulationSelect As Range
Set PopulationSelect = Application.InputBox("Select range of cells in the population", Type:=8)
RandSample = Int(PopulationSelect.Rows.Count * Rnd + 1)
PopulationSelect.Rows(RandSample).EntireRow.Select
End Sub
关于VBA在选择范围内选择随机行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25212330/