VBA条件单元选择

时间:2013-12-02 16:47:32

标签: excel vba excel-vba

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

Number     String 
 1          Athena 
 2          Belerephone 
 3          Castor 
 4          Dionysos

如果随机数为4,则输出为Dionysos,1为Athena,依此类推。

基本上,我希望宏搜索“Number”列,找到与随机生成的数字匹配的单元格,然后将单元格中的字符串输出到右侧。

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

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

2 个答案:

答案 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)