VBA条件单元select

我正在玩Excel 2007 VBA,并希望创build一个macros,生成一个随机数,然后根据生成的数字输出一个string。 例如,

Number String 1 Athena 2 Belerephone 3 Castor 4 Dionysos 

如果随机数是4,输出将是狄奥尼索斯,1将是雅典娜等。

基本上,我希望macros在“数字”列中search,find与随机生成的数字相匹配的单元格,然后将单元格中的string输出到右侧。

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

到目前为止,我还没有取得太多成功,有什么想法?

使用A1到B4中的数据,使用:

= VLOOKUP(RANDBETWEEN(1,4),A1:B4,2,FALSE)或其VBA等效

编辑#1

用单元格D3中存储的表的上限:

= VLOOKUP(RANDBETWEEN(1,D3),INDIRECT(“A1:B”&D3),2,FALSE)

您可以使用application.worksheetfunction.vlookup在您的macros中执行一个vlookup,并使用1+Int(10 * Rnd())函数返回从1到10(可能是11,但统计上不太可能)的随机数。