私が持っているExcelの電話番号の巨大な長いリストをフォーマットするためにカスタム定義のUDF関数を使用しようとしています。私がこのExcelファイルに追加する今後の電話番号のエントリと同様に。ExcelのUDFカスタムセルフォーマットで何も返さない(空のセル)または「書式設定されたユーザー入力」
脇に:UDF自体は電話番号をきれいにフォーマットするだけなので、拡張子の有無にかかわらず電話を入力するかどうかにかかわらず、より読みやすいようにフォーマットされます。 私はそれをオンラインで見つけ、自分のニーズに合うように調整しました。それは私の質問ではありません実際には、
私の質問はどのように私の入力の価値を受け取り、値を持たないすべてのセルの#VALUEを返さずにセルの書式設定として適用することができますまだ。
アイブの効果に何かを試してみました:
= IF(ISBLANK、 ""、= CustomUDF(cellvalue))
が、これは、仕事をするだろうと思ういけません。
あなたは私のUDFを見たい場合は、ここではそれだけで次のコードを追加します!:
Function cleanPhoneNumber(thisNumber As String) As String
' this function aspires to clean any phone number format
' to standard format (+9999) 999-999-9999 or 999-999-9999
' works with almost all phone number formats stored in text
Dim retNumber As String
For i = 1 To Len(thisNumber)
If Asc(Mid(thisNumber, i, 1)) >= Asc("0") And Asc(Mid(thisNumber, i, 1)) <= Asc("9") Then
retNumber = retNumber + Mid(thisNumber, i, 1)
End If
Next
If Len(retNumber) > 10 Then
' format for country code as well
cleanPhoneNumber = Format(retNumber, "000-000-0000-0000")
Else
cleanPhoneNumber = Format(retNumber, "000-000-0000")
End If
End Function