我如何在 excel vba 中编写一个与 php 中类似的函数?
public function name($data) {
if ($data==="*") {
return "*";
}
if (isset($data[0])) {
return $data[0];
}
}
最大的问题是我需要在函数中为我的参数定义数据类型
我期待一个字符串或一个具有名为“0”的键的字典
最佳答案
字典中的0
不包含任何值。 1
也许可以给你想要的结果。我不知道 php,但无论我从上面的代码和您的要求中可以理解什么,这就是我想出的,所以我不确定这是否是您想要的?
Sub Sample()
Dim Dict1 As Dictionary
Dim sString As String
Set Dict1 = New Dictionary
With Dict1
.CompareMode = BinaryCompare
.Add 1, "Item 1"
End With
sString = "Sid"
Debug.Print sName(Dict1)
Debug.Print sName(sString)
End Sub
Public Function sName(Inpt As Variant) As Variant
If TypeName(Inpt) = "Dictionary" Then
sName = Inpt.Item(1)
ElseIf TypeName(Inpt) = "String" Then
sName = Inpt
End If
End Function
编辑
如果您仍想使用 0
,则在添加到字典时,请使用 0
例如
With Dict1
.CompareMode = BinaryCompare
.Add 0, "Item 1"
End With
然后您可以在函数中使用0
,如下所示
sName = Inpt.Item(0)
快照(所有 3 个条件 - 使用 0 和 1)
HTH
席德
关于excel - 编写一个vba excel函数,不知道参数是字符串还是字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9961962/