How to format the number as Credit Card number format @@@@ @@@@ @@@@ @@@@
Posted on August 19, 2011
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | 'Controls - How to format the number as Credit Card number format @@@@ @@@@ @@@@ @@@@ Public Function FormatCreditCard(Text As String) As String Dim tmp As String If Text <> "" Then ' First get rid of all embedded spaces, if any. tmp = FilterNumber(Text, False) ' Then reinsert them in the correct position. FormatCreditCard = Format$(tmp, "!@@@@ @@@@ @@@@ @@@@") End If End Function Private Function FilterNumber(Text As String, TrimZeros As Boolean) As String Dim decSep As String, i As Long, result As String ' Retrieve the decimal separator symbol. decSep = Format$(0.1, ".") ' Use FilterString for most of the work. result = FilterString(Text, decSep & "-0123456789") ' Do the following only if there is a decimal part and the ' user requested that nonsignificant digits be trimmed. If TrimZeros And InStr(Text, decSep) > 0 Then For i = Len(result) To 1 Step -1 Select Case Mid$(result, i, 1) Case decSep result = Left$(result, i - 1) Exit For Case "0" result = Left$(result, i - 1) Case Else Exit For End Select Next End If FilterNumber = result End Function |