Excel宏将字段数据类型字符串更改为长

问题描述:

我有一个以字符串形式返回值的函数。Excel宏将字段数据类型字符串更改为长

Function Trimcell(cellvalue As varnant) As String 
    Trimcell = Replace(CStr(cellvalue), " ", "") 
End Function 

我想将数据类型字符串更改为long。任何帮助。

+0

你试过了什么?所有它应该采取的是改变函数的返回类型。 – dotNET

+0

我有一个函数..函数Trimcell(cellvalue as varnant)作为字符串。 Trimcell = Replace(CStr(cellvalue),“”,“”)End function –

+0

我需要的函数应该返回Long而不是String。如果我在函数的返回数据类型中将字符串更改为long,则抛出错误。 –

你的函数改成这样:

Function Trimcell(cellvalue As varnant) As Long 
    Trimcell = Val(Replace(CStr(cellvalue), " ", "")) 
End Function 

你有拼写错误 - varnant而不是变异。

比使用Replace更好的选择是使用Val,它从字符串中删除空格,制表符和换行符,并返回Double。它也会停止读取第一个非数字字符处的字符串,而不是它识别为小数点分隔符的句点(。)。

正如你已经宣布cellvalue As Variant你不应该需要CStr要么。

Function Trimcell2(cellvalue As Variant) As Long 

    Trimcell = Val(cellvalue) 
End Function