无法在 UDF 的单元格中写入字符串
Can't write string in a cell from UDF
Sub Makro()
Dim a As String
Dim b As String
Cells(1, 1).Value = myfunction(X, X)
If Range("A1") = "XX" Then
MsgBox "True"
Else
MsgBox "False"
End If
End Sub
Function myfunction(a, b) As String
myfunction = a + b
End Function
"A1" 单元格值等于 0。它必须是 XX。
X 必须在 " " 之间,例如:
Cells(1, 1).Value = myfunction("X", "X")
您正在将 X 发送到 myfunction,它应该是 "X"。 VBA 将 X 解释为变量而不是字符串
单元格(1, 1).Value = myfunction("X", "X")
使用符号(例如 &)进行显式字符串连接。虽然加号(例如 +)由于 VBA 的开销而可以使用,并且它试图实现跨平台兼容性,但加号的主要运算符是数学加法,不是字符串连接,如果可以的话,它会选择添加两位数字。
Function myfunction(a, b) As String
myfunction = a & b
End Function
使用+作为字符串连接运算符,如果你通过了6和7进入原始函数,您将收到 13,而不是 67。有了&你return67.
Sub Makro()
Dim a As String
Dim b As String
Cells(1, 1).Value = myfunction(X, X)
If Range("A1") = "XX" Then
MsgBox "True"
Else
MsgBox "False"
End If
End Sub
Function myfunction(a, b) As String
myfunction = a + b
End Function
"A1" 单元格值等于 0。它必须是 XX。
X 必须在 " " 之间,例如:
Cells(1, 1).Value = myfunction("X", "X")
您正在将 X 发送到 myfunction,它应该是 "X"。 VBA 将 X 解释为变量而不是字符串
单元格(1, 1).Value = myfunction("X", "X")
使用符号(例如 &)进行显式字符串连接。虽然加号(例如 +)由于 VBA 的开销而可以使用,并且它试图实现跨平台兼容性,但加号的主要运算符是数学加法,不是字符串连接,如果可以的话,它会选择添加两位数字。
Function myfunction(a, b) As String
myfunction = a & b
End Function
使用+作为字符串连接运算符,如果你通过了6和7进入原始函数,您将收到 13,而不是 67。有了&你return67.