View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Neal Zimm Neal Zimm is offline
external usenet poster
 
Posts: 345
Default Custom String Format

Hi All,
After reading the help on Format, I don't know
what I missed on trying to format a code with
a bit of custom text. Clearly I would like to
avoid the last brute force method. There were no
examples I saw that fit in the programming
community for Excel.

Where did I go wrong?
Thanks,
Neal


Sub Format_Apply_Fmt_To_Var()
Dim gsWbkFmtAy(1 To 2) As String, Cd As String, Desc As String
gsWbkFmtAy(1) = "Rte Wbk"
gsWbkFmtAy(2) = "Other"

Cd = "1"
Desc = Format(Cd, gsWbkFmtAy(Val(Cd)))
Debug.Print Desc & " 1 s/b: Rte Wbk"
' result is: Rte 1bk

Cd = "2"
Desc = Format(Cd, gsWbkFmtAy(Val(Cd)))
Debug.Print Desc & " 2 s/b: Other"
' result is: Oth0er

Cd = "a"
Desc = Format(Cd, gsWbkFmtAy(1))
Debug.Print Desc & " a s/b: Rte Wbk"
' result is: a

Cd = "b"
Desc = Format(Cd, gsWbkFmtAy(2))
Debug.Print Desc & " b s/b: Other"
' result is: b

'exasperation
Dim Ix As Integer
Desc = ""
Cd = "1"
For Ix = 1 To UBound(gsWbkFmtAy)
If Ix = Val(Cd) Then Desc = gsWbkFmtAy(Ix): Exit For
Next Ix
Debug.Print Desc & " brute force for 1"
' as expected, Rte Wbk
Exit Sub
--
Neal Z