我正在使用excel 2007 VBA,希望创建一个生成随机数的宏,然后根据生成的数字输出一个字符串。例如,
Number String
1 Athena
2 Belerephone
3 Castor
4 Dionysos
如果随机数为4,则输出为Dionysos,1为Athena,依此类推。
基本上,我希望宏搜索“Number”列,找到与随机生成的数字匹配的单元格,然后将单元格中的字符串输出到右侧。
我的Excel工作表中有一个类似的表格。
到目前为止,我没有在这方面取得多大成功,有什么想法吗?
答案 0 :(得分:0)
您可以使用application.worksheetfunction.vlookup
在宏中执行vlookup,并使用1+Int(10 * Rnd())
函数返回1到10之间的随机数(可能是11,但在统计上不太可能)。
答案 1 :(得分:0)
使用A1到B4的数据,请使用:
= VLOOKUP(RANDBETWEEN(1,4),A1:B4,2,FALSE)或其等效的VBA
编辑#1 :
表格的上限存储在单元格 D3 :
中= VLOOKUP(RANDBETWEEN(1,D3),INDIRECT(“A1:B”& D3),2,FALSE)