Not that I know of. In fact when numbers are formatted, even though you make them look like strings ( as in your case ), there is a lot you cannot do in the way of formatting, for example, wrapping. If you want to do this kind of thing, then convert your number into a text, and add in the (CR) and other stuff, and you'll be able to have your cells looks how you want, except the entries are no longer numeric.
To add a (CR) to your number, use a formula like this:
I recommended having a formula to convert your numbers to text, which would leave the original numbers intact. Use the original numbers for summing. Hide the column of original numbers if you don't want to see them.
I wouldn't normally do it this way, but there is an "Etc." column on this spreadsheet for the 2 or 3 odd values that don't belong in any of the other columns. It is bad enough, presentation-wise to have this column, I didn't want to introduce yet another column to keep the comments separate, even though that's the right way to do it, in terms of spreadsheet integrity.
The values are [Dollar amount][CR][Description]. such as the one I'd mentioned earlier:
(I & B)
Your formula would have worked if every cell contained a number and a CR. I entered the following unwieldy but functional variation on your formula to avoid the dreaded #VALUE!:
LOL - I so enjoyed your array formulas that I forgot to try out a rather simple answer...
Selection.NumberFormat = "#,##0 " & Chr(10) & """(I & B)"""
.NumberFormat = "#,##0 " & Chr(10) & """(drinks at the pub)"""
.WrapText = True
Perhaps a little more useful...
Dim strDesc As String, strFormat As String
strDesc = InputBox("And the description is?", "Item Desc")
strFormat = "#,##0 " & Chr(10) & """(" _
& strDesc & ")"""
.NumberFormat = strFormat
.WrapText = True
.RowHeight = 26