Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Put parentheses around figures

5,407 views
Skip to first unread message

andreashermle

unread,
Dec 23, 2009, 8:25:58 AM12/23/09
to
Dear Experts:

I would like to format selected figures with a specific syntax so that
after running the macro parentheses are put around the numbers

Before:
xx-xxx-xx-xx (x stands for any number 0-9)

After (the result):
(xx-xxx-xx-xx)

Help is much appreciated. Thank you very much in advance.

Regards, Andreas

Mike

unread,
Dec 23, 2009, 9:18:06 AM12/23/09
to
something like this
Range("A1").Value = "(" & Range("A1").Value & ")"

"andreashermle" wrote:

> .
>

andreashermle

unread,
Dec 23, 2009, 9:58:50 AM12/23/09
to
> > .- Zitierten Text ausblenden -
>
> - Zitierten Text anzeigen -

Dear Mike,

Great job, Mike

ok, it works as desired. But I am afraid to tell you that I would like
the macro to work only on selected cells without my having to adjust
the VBA code each time.

Hope this is not asking too much.

Regards, Andreas

Peter T

unread,
Dec 23, 2009, 9:57:24 AM12/23/09
to
Range("A1").NumberFormat = "(##-###-##-##)"
Range("A1") = 123456789
Columns("A:A").EntireColumn.AutoFit

Manually, select your cells, Ctrl-1, Custom, Type: the above number-format
without the quotes

FWIW, numbers in brackets are typically regarded as -ve. Post back if that's
the objective as the -ve format should follow the +ve format, separated with
a comma.

Regards,
Peter T

"andreashermle" <andreas...@gmx.de> wrote in message
news:f677636b-0d71-4502...@c3g2000yqd.googlegroups.com...

Rick Rothstein

unread,
Dec 23, 2009, 11:45:45 AM12/23/09
to
If the parentheses only need to be displayed and not actually become part of
the text, you could use this Custom Format on the cells...

(@)

The parentheses will only show up if there is an entry in the cell.

--
Rick (MVP - Excel)


"andreashermle" <andreas...@gmx.de> wrote in message
news:f677636b-0d71-4502...@c3g2000yqd.googlegroups.com...

andreashermle

unread,
Dec 28, 2009, 3:14:22 AM12/28/09
to
On 23 Dez., 15:57, "Peter T" <peter_t@discussions> wrote:
> Range("A1").NumberFormat = "(##-###-##-##)"
> Range("A1") = 123456789
> Columns("A:A").EntireColumn.AutoFit
>
> Manually, select your cells, Ctrl-1, Custom, Type: the above number-format
> without the quotes
>
> FWIW, numbers in brackets are typically regarded as -ve. Post back if that's
> the objective as the -ve format should follow the +ve format, separated with
> a comma.
>
> Regards,
> Peter T
>
> "andreashermle" <andreas.her...@gmx.de> wrote in message

>
> news:f677636b-0d71-4502...@c3g2000yqd.googlegroups.com...
>
>
>
> > Dear Experts:
>
> > I would like to format selected figures with a specific syntax so that
> > after running the macro parentheses are put around the numbers
>
> > Before:
> > xx-xxx-xx-xx (x stands for any number 0-9)
>
> > After (the result):
> > (xx-xxx-xx-xx)
>
> > Help is much appreciated. Thank you very much in advance.
>
> > Regards, Andreas- Zitierten Text ausblenden -

>
> - Zitierten Text anzeigen -


Dear Peter T:

thank you very much for your professional help. It works as desired.
But I am afraid to tell you that I was looking for a VBA solution that
inserts the brackets in selected cells automatically.

Please find below a VBA solution which I came across in the meantime.
Thank you again for your valuable help. Regards, Andreas

Sub PutBracketsAroundFigures()
Dim ws As Worksheet
Dim cel As Range
Dim str As String
Const expr As String = "[(]?[0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9]-[0-9]
[0-9][)]?"


For Each cel In Selection
str = fnRegEx(cel.Text, expr)
If str <> "" Then
If Left(str, 1) <> "(" And Right(str, 1) <> ")" Then
cel = Replace(cel, str, "(" & str & ")")

End If
Next


End Sub

Function fnRegEx(str As String, expr As String) As String
Dim regex As Object

Set regex = CreateObject("vbscript.regexp")
regex.Pattern = expr
If regex.test(str) Then
fnRegEx = regex.Execute(str)(0)
Else
fnRegEx = ""
End If

Set regex = Nothing
End Function

andreashermle

unread,
Dec 28, 2009, 3:14:50 AM12/28/09
to
On 23 Dez., 17:45, "Rick Rothstein"

<rick.newsNO.S...@NO.SPAMverizon.net> wrote:
> If the parentheses only need to be displayed and not actually become part of
> the text, you could use this Custom Format on the cells...
>
> (@)
>
> The parentheses will only show up if there is an entry in the cell.
>
> --
> Rick (MVP - Excel)
>
> "andreashermle" <andreas.her...@gmx.de> wrote in message

>
> news:f677636b-0d71-4502...@c3g2000yqd.googlegroups.com...
>
>
>
> > Dear Experts:
>
> > I would like to format selected figures with a specific syntax so that
> > after running the macro parentheses are put around the numbers
>
> > Before:
> > xx-xxx-xx-xx (x stands for any number 0-9)
>
> > After (the result):
> > (xx-xxx-xx-xx)
>
> > Help is much appreciated. Thank you very much in advance.
>
> > Regards, Andreas- Zitierten Text ausblenden -
>
> - Zitierten Text anzeigen -


Dear Rick

Rick Rothstein

unread,
Dec 28, 2009, 10:59:32 AM12/28/09
to
Than seems like a lot more code than is necessary for what you asked. If
your question is as you originally stated it, namely, that you just want to
put parentheses around the values in the selected cells (no matter what
those values are), then try this macro...

Sub PutBracketsAroundFigures()
Dim Cell As Range
For Each Cell In Selection
Cell.NumberFormat = "@"
Cell.Value = "(" & Cell.Value & ")"
Next
End Sub

If, on the other hand, you only want to put parentheses around those values
having the shape of the example number you posted (this is what your
solution code is doing), then try this macro instead...

Sub PutBracketsAroundFigures()
Dim Cell As Range
For Each Cell In Selection
If Cell.Value Like "??-???-??-??" Then
Cell.NumberFormat = "@"
Cell.Value = "(" & Cell.Value & ")"


End If
Next
End Sub

--
Rick (MVP - Excel)


"andreashermle" <andreas...@gmx.de> wrote in message

news:63557bd6-45cb-4b60...@v25g2000yqk.googlegroups.com...

andreashermle

unread,
Dec 30, 2009, 11:49:28 AM12/30/09
to
On 28 Dez., 16:59, "Rick Rothstein"
> > End Function- Zitierten Text ausblenden -

>
> - Zitierten Text anzeigen -


Hi Rick,

Great help. It works just fine. It is much easier to understand. Have
a nice new year's eve and all the best for 2010.

I appreciate your terrific support.

Regards, Andreas

0 new messages