【问题标题】:VBA conditional cell selectionVBA 条件单元格选择
【发布时间】:2013-12-02 16:47:32
【问题描述】:

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

Number     String 
 1          Athena 
 2          Belerephone 
 3          Castor 
 4          Dionysos

如果随机数为 4,则输出为狄俄尼索斯,1 为雅典娜,依此类推。

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

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

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

【问题讨论】:

    标签: vba excel


    【解决方案1】:

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

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

    编辑#1:

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

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

    【讨论】:

    • 在randbetween函数中,你可以让它取单元格值吗?我想将电子表格扩展到 a1:b4...
    • 所以你想低于 4 ??
    • 我想走得更高,但上限会在单元格中显示,例如 D3...
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多