无法在UDF的单元格中写入string
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到myfunction它应该是“X”。 VBA将X解释为variables而不是string
单元格(1,1).Value = myfunction(“X”,“X”)
X必须介于“”之间,如:
Cells(1, 1).Value = myfunction("X", "X")
使用和号(例如& )显式string连接。 虽然由于VBA的开销可以使用加号(例如+ ),并且它是跨平台兼容性的尝试,但是加号的主要操作符是math加法,而不是string连接,如果可能的话,它将select加两个数字。
Function myfunction(a, b) As String myfunction = a & b End Function
使用+作为string连接运算符,如果将6和7传递给原始函数,则会得到13 ,而不是67 。 随着你的回报67 。