vba函数从下拉列表中加载可能的值

时间:2019-01-22 10:38:15

标签: excel vba

我在excel中有一个单元格,下拉列表中有数据验证功能。此列表根据电子表格中的其他值是可变的。

Image of the value in dropdown list

我应该在VBA中执行一个宏,该宏在单元格中插入随机值,但只能在可能的范围内插入。 VBA中有一个功能可以让您读取要插入单元格中的可能值是什么?

对不起,我的英语。
预先感谢

1 个答案:

答案 0 :(得分:0)

  • 从1到4的随机值:= INT(RAND()* 4)+1
  • 您列表中的
  • 值:= index(value_range,INT(RAND()* 4)+1)

在vba中:

Option Explicit
Sub getRand()
    Dim sampleString as string

    Range("A1").Value = "mele"
    Range("A2").Value = "pere"
    Range("A3").Value = "banane"
    Range("A4").Value = "albicocche"

    sampleString = (GetRandomValueFromList(Range("A1:A4")))
    debug.print sampleString
    'to set the cell to the random value
    'add the correct cell reference
    Range("X12").value = sampleString 
End Sub

Function GetRandomValueFromList(listRange As Range) As String
    Dim rCt As Integer
    Dim sStr As String
    rCt = Int(Rnd() * 4 + 1)
    sStr = listRange(rCt)
    GetRandomValueFromList = sStr
End Function