Dim Ra As Range Set Ra = Range([B1], Range("B" & Cells.Rows.Count).End(3)) [C1] = Ra(Int(Rnd() * Ra.Count + 1))追问
如果是被选择的任意列呢?
追答
假定随机抽取B列一个单元格数据填入C1单元格,代码如下:
Dim Ra As Range Set Ra = Range([B1], Range("B" & Cells.Rows.Count).End(3)) [C1] = Ra(Int(Rnd() * Ra.Count + 1))
手机编辑不方便 将第二句引号中的B改为其他列名即可
本回答被提问者和网友采纳
第3个回答 2014-04-22
假设你的数据是在C列,用msgbox 显示的是随机抽取的某一个单元格的数据。 Sub text() Dim i As Long Dim a As Long Dim s a = Range("C" & Cells.Rows.Count).End(xlUp).Row i = WorksheetFunction.RandBetween(1, a) s = Cells(i, "c") MsgBox s End Sub