UDF函数-不识别UDF中的公式

  • 本文关键字:UDF 识别 函数 excel vba
  • 更新时间 :
  • 英文 :


我想在Excel中创建一个函数UDF,预计它将具有长度为2或4个字符的值。当它是两个字符时,它返回相同的值。如果是4,它应该随机选择左边的2个或者右边的2个。

问题是,当我想使用公式RandBetween它不识别它(错误:Sub或Function未定义),但是我能够在Sub上使用它而没有任何问题。
Function SCountry(A As String)
If Len(A) = 2 Then
SCountry = A
ElseIf Len(A) = 4 Then
SCountry = Choose(RandBetween(1, 2), Left(A, 2), Right(A, 2)) Or Choose(1, Left(A, 2), Right(A, 2))
Else
SCountry = "Error"
End If
End Function 

有什么问题吗?我尝试了所有方法,并做了广泛的搜索,但仍然不确定如何克服这个问题。一个普通的公式不是一个解决方案,因为它太大,太复杂,而且容易改变。

随机UDF

Option Explicit
Function SCountry(ByVal S As String) As String

Select Case Len(S)
Case 2
SCountry = S
Case 4
SCountry = IIf(Application.RandBetween(-1, 0), _
Left(S, 2), Right(S, 2))
Case Else
SCountry = "Error"
End Select
End Function

相关内容

  • 没有找到相关文章

最新更新