numeric value, vba to split out one digit per column
A previous thread did not address this part of my question.
Actually, your question has been answered in the other thread. That thread
got kind of long, so instead of making you search for it, here are the two
functions I posted there. This first addresses your specific question for a
9-column print out...
Sub ParseAmountsNewRick()
Dim Cell As Range
For Each Cell In Selection
Cell.Offset(, 1).Resize(, 9) = Split(Format(Replace(Replace( _
Format$(Cell.Value, "0.00"), ".", ""), ",", ""), _
"@_@_@_@_@_@_@_@_@"), "_")
Next
End Sub
and this one, a generalized solution, which allows you to specify any size
for the number of columns via the Size constant (the Const statement)...
Sub ParseAmountsNewRickToo()
Dim Cell As Range
Const Size As Long = 11
For Each Cell In Selection
Cell.Offset(, 1).Resize(, Size) = Split(Format(Replace(Replace( _
Format$(Cell.Value, "0.00"), ".", ""), ",", ""), _
Mid(Replace(String(Size, "@"), "@", "_@"), 2)), "_")
Next
End Sub
You might find it interesting that the statement inside the For..Next block
is only one line long... I used line continuation characters to split the
code line over three physical lines because it is so long (and to stop the
newsgroup parser from word-wrapping it at awkward locations).
Rick Rothstein (MVP - Excel)
|