2017-04-21 5 views
0

文字列として値を返す関数があります。フィールドのデータ型の文字列をlongに変更するExcelマクロ

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

データ型の文字列をlongに変更したいとします。助けてください。

+0

何を試しましたか?関数の戻り値の型を変更するだけです。 – dotNET

+0

私は関数を持っています..機能Trimcell(varnantとしてのセル値)を文字列として返します。 Trimcell = Replace(CStr(cellvalue)、 ""、 "")End function –

+0

Stringの代わりにLongを返す関数が必要です。関数の戻りデータ型でstringをlongに変更すると、エラーがスローされます。 –

答えて

0
はこれにあなたの関数を変更し

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

あなたはスペルミスがある - varnant代わりのバリアントを。

Replaceを使用するより良いオプションは、Valを使用して、空白、タブ、改行文字を文字列から削除し、Doubleを返します。また、ピリオド(。)を除いて最初の数字以外の文字を小数点として認識します。

cellvalue As Variantと宣言しているので、CStrも必要ありません。

Function Trimcell2(cellvalue As Variant) As Long 

    Trimcell = Val(cellvalue) 
End Function 
関連する問題