VBA单元格引用和随机数

时间:2013-12-02 14:05:54

标签: vba excel-vba random excel-2007 generator

我正在使用excel 2007 VBA,希望创建一个生成随机数的宏,然后根据生成的数字输出一个字符串。例如,

数字字符串 1 A. 2 B. 3 C. 4 D

如果随机数为4,则输出为D.

我的Excel工作表中有一个类似的表格。

到目前为止,我没有在这方面取得多大成功,任何想法?

3 个答案:

答案 0 :(得分:4)

如果您只需要以相同的概率生成A - Z,则直接在工作表上使用=CHAR(65 + RAND()*26)

最好远离VBA,因为它使电子表格更难以调试,而且由于VBA在单个线程中工作,现在它可能成为瓶颈。

答案 1 :(得分:2)

在工作表上处理任何字符串的另一种方法是使用

=CHOOSE(rand() * 4 + 1, "One", "Of", "Four", "Strings")

答案 2 :(得分:2)

如果您有一张表,那么您可以使用INDEX,例如如果List是包含单独单元格中的字符串列表的命名范围,则可以使用此公式随机获取字符串

=INDEX(List,1+RAND()*COUNTA(List))