Reply
 
Thread Tools Display Modes
  #1   Report Post  
Warrain
 
Posts: n/a
Default How to format negative numbers in Word tables

I can see how to custom format the sum of a column of numbers but not how to
format the raw numbers entered into the individual cells above. Be great if
someone could put me on the right track please.
Many thanks
  #2   Report Post  
Greg Maxey
 
Posts: n/a
Default

Warrain,

If you are using a simple Word document with a table then you can't enter
raw numbers and have the come out formatted in real time. You can type your
numbers as raw then select the appropriate cells and format all selected
cells using a macro. Here is an example:

Sub ConvertSelectedRawNumbersInTableToCurrencyFormat()

If Not Selection.Information(wdWithInTable) Then
MsgBox "Place cursor in a table cell or select multiple cells."
Exit Sub
End If

Dim oCl As Word.Cell
Dim oRng As Range
Dim Count As Integer
For Each oCl In Selection.Cells
Set oRng = oCl.Range
oRng.End = oRng.End - 1
With oRng
If IsNumeric(oRng) Then
.Text = FormatCurrency _
(Expression:=.Text, _
NumDigitsAfterDecimal:=2, _
IncludeLeadingDigit:=vbTrue, _
UseParensForNegativeNumbers:=vbTrue)
End If
' If InStr(oRng.Text, "$") = False Then
If IsNumeric(oRng) = False Then
Count = Count + 1
End If
End With
Next oCl
If Count = 0 Then
MsgBox "Conversion complete."
End If
Selection.Collapse wdCollapseEnd
If Count = 1 Then
MsgBox "The selected cell is empty or content is not numerical.", ,
"Notice!!"
End If
If Count 1 Then
MsgBox "" & Count & " of the selected cells are empty or content is not
numerical. Conversion complete on all selected numerical cells.", ,
"Notice!!"
End If
End Sub

--
Greg Maxey/Word MVP
See:
http://gregmaxey.mvps.org/word_tips.htm
For some helpful tips using Word.

Warrain wrote:
I can see how to custom format the sum of a column of numbers but not
how to format the raw numbers entered into the individual cells
above. Be great if someone could put me on the right track please.
Many thanks



  #3   Report Post  
Warrain
 
Posts: n/a
Default

Wow! Thanks Greg for the prompt and very informative response.

"Greg Maxey" wrote:

Warrain,

If you are using a simple Word document with a table then you can't enter
raw numbers and have the come out formatted in real time. You can type your
numbers as raw then select the appropriate cells and format all selected
cells using a macro. Here is an example:

Sub ConvertSelectedRawNumbersInTableToCurrencyFormat()

If Not Selection.Information(wdWithInTable) Then
MsgBox "Place cursor in a table cell or select multiple cells."
Exit Sub
End If

Dim oCl As Word.Cell
Dim oRng As Range
Dim Count As Integer
For Each oCl In Selection.Cells
Set oRng = oCl.Range
oRng.End = oRng.End - 1
With oRng
If IsNumeric(oRng) Then
.Text = FormatCurrency _
(Expression:=.Text, _
NumDigitsAfterDecimal:=2, _
IncludeLeadingDigit:=vbTrue, _
UseParensForNegativeNumbers:=vbTrue)
End If
' If InStr(oRng.Text, "$") = False Then
If IsNumeric(oRng) = False Then
Count = Count + 1
End If
End With
Next oCl
If Count = 0 Then
MsgBox "Conversion complete."
End If
Selection.Collapse wdCollapseEnd
If Count = 1 Then
MsgBox "The selected cell is empty or content is not numerical.", ,
"Notice!!"
End If
If Count 1 Then
MsgBox "" & Count & " of the selected cells are empty or content is not
numerical. Conversion complete on all selected numerical cells.", ,
"Notice!!"
End If
End Sub

--
Greg Maxey/Word MVP
See:
http://gregmaxey.mvps.org/word_tips.htm
For some helpful tips using Word.

Warrain wrote:
I can see how to custom format the sum of a column of numbers but not
how to format the raw numbers entered into the individual cells
above. Be great if someone could put me on the right track please.
Many thanks




  #4   Report Post  
Warrain
 
Posts: n/a
Default

Thanks again Greg.
How can I modify your macro so that numbers in a column line up when there
is a mixture of some in brackets (negative) and some not please?

"Greg Maxey" wrote:

Warrain,

If you are using a simple Word document with a table then you can't enter
raw numbers and have the come out formatted in real time. You can type your
numbers as raw then select the appropriate cells and format all selected
cells using a macro. Here is an example:

Sub ConvertSelectedRawNumbersInTableToCurrencyFormat()

If Not Selection.Information(wdWithInTable) Then
MsgBox "Place cursor in a table cell or select multiple cells."
Exit Sub
End If

Dim oCl As Word.Cell
Dim oRng As Range
Dim Count As Integer
For Each oCl In Selection.Cells
Set oRng = oCl.Range
oRng.End = oRng.End - 1
With oRng
If IsNumeric(oRng) Then
.Text = FormatCurrency _
(Expression:=.Text, _
NumDigitsAfterDecimal:=2, _
IncludeLeadingDigit:=vbTrue, _
UseParensForNegativeNumbers:=vbTrue)
End If
' If InStr(oRng.Text, "$") = False Then
If IsNumeric(oRng) = False Then
Count = Count + 1
End If
End With
Next oCl
If Count = 0 Then
MsgBox "Conversion complete."
End If
Selection.Collapse wdCollapseEnd
If Count = 1 Then
MsgBox "The selected cell is empty or content is not numerical.", ,
"Notice!!"
End If
If Count 1 Then
MsgBox "" & Count & " of the selected cells are empty or content is not
numerical. Conversion complete on all selected numerical cells.", ,
"Notice!!"
End If
End Sub

--
Greg Maxey/Word MVP
See:
http://gregmaxey.mvps.org/word_tips.htm
For some helpful tips using Word.

Warrain wrote:
I can see how to custom format the sum of a column of numbers but not
how to format the raw numbers entered into the individual cells
above. Be great if someone could put me on the right track please.
Many thanks




  #5   Report Post  
Warrain
 
Posts: n/a
Default

Greg, Debug is showing the following:


"Greg Maxey" wrote:

Warrain,

If you are using a simple Word document with a table then you can't enter
raw numbers and have the come out formatted in real time. You can type your
numbers as raw then select the appropriate cells and format all selected
cells using a macro. Here is an example:

Sub ConvertSelectedRawNumbersInTableToCurrencyFormat()

If Not Selection.Information(wdWithInTable) Then
MsgBox "Place cursor in a table cell or select multiple cells."
Exit Sub
End If

Dim oCl As Word.Cell
Dim oRng As Range
Dim Count As Integer
For Each oCl In Selection.Cells
Set oRng = oCl.Range
oRng.End = oRng.End - 1
With oRng
If IsNumeric(oRng) Then
.Text = FormatCurrency _
(Expression:=.Text, _
NumDigitsAfterDecimal:=2, _
IncludeLeadingDigit:=vbTrue, _
UseParensForNegativeNumbers:=vbTrue)
End If
' If InStr(oRng.Text, "$") = False Then
If IsNumeric(oRng) = False Then
Count = Count + 1
End If
End With
Next oCl
If Count = 0 Then
MsgBox "Conversion complete."
End If
Selection.Collapse wdCollapseEnd
If Count = 1 Then
MsgBox "The selected cell is empty or content is not numerical.", ,
"Notice!!"
End If
If Count 1 Then
MsgBox "" & Count & " of the selected cells are empty or content is not
numerical. Conversion complete on all selected numerical cells.", ,
"Notice!!"
End If
End Sub

--
Greg Maxey/Word MVP
See:
http://gregmaxey.mvps.org/word_tips.htm
For some helpful tips using Word.

Warrain wrote:
I can see how to custom format the sum of a column of numbers but not
how to format the raw numbers entered into the individual cells
above. Be great if someone could put me on the right track please.
Many thanks






  #6   Report Post  
Warrain
 
Posts: n/a
Default

Greg, Debug doesn't like the following line in your macro:
MsgBox "The selected cell is empty or content is not numerical.", ,
or the one following.

"Greg Maxey" wrote:

Warrain,

If you are using a simple Word document with a table then you can't enter
raw numbers and have the come out formatted in real time. You can type your
numbers as raw then select the appropriate cells and format all selected
cells using a macro. Here is an example:

Sub ConvertSelectedRawNumbersInTableToCurrencyFormat()

If Not Selection.Information(wdWithInTable) Then
MsgBox "Place cursor in a table cell or select multiple cells."
Exit Sub
End If

Dim oCl As Word.Cell
Dim oRng As Range
Dim Count As Integer
For Each oCl In Selection.Cells
Set oRng = oCl.Range
oRng.End = oRng.End - 1
With oRng
If IsNumeric(oRng) Then
.Text = FormatCurrency _
(Expression:=.Text, _
NumDigitsAfterDecimal:=2, _
IncludeLeadingDigit:=vbTrue, _
UseParensForNegativeNumbers:=vbTrue)
End If
' If InStr(oRng.Text, "$") = False Then
If IsNumeric(oRng) = False Then
Count = Count + 1
End If
End With
Next oCl
If Count = 0 Then
MsgBox "Conversion complete."
End If
Selection.Collapse wdCollapseEnd
If Count = 1 Then
MsgBox "The selected cell is empty or content is not numerical.", ,
"Notice!!"
End If
If Count 1 Then
MsgBox "" & Count & " of the selected cells are empty or content is not
numerical. Conversion complete on all selected numerical cells.", ,
"Notice!!"
End If
End Sub

--
Greg Maxey/Word MVP
See:
http://gregmaxey.mvps.org/word_tips.htm
For some helpful tips using Word.

Warrain wrote:
I can see how to custom format the sum of a column of numbers but not
how to format the raw numbers entered into the individual cells
above. Be great if someone could put me on the right track please.
Many thanks




  #7   Report Post  
Greg Maxey
 
Posts: n/a
Default

Warrain,

I am not ignoring you. I signe off shortly after posting and am now
preparing fo work. When you post a macro to a newsgroup, text wrapping
often messes up the longer lines. See if there is a spurious "-" in the
line or try bringing the entire string together on one line.



--
Greg Maxey/Word MVP
See:
http://gregmaxey.mvps.org/word_tips.htm
For some helpful tips using Word.

Warrain wrote:
Greg, Debug doesn't like the following line in your macro:
MsgBox "The selected cell is empty or content is not numerical.", ,
or the one following.

"Greg Maxey" wrote:

Warrain,

If you are using a simple Word document with a table then you can't
enter raw numbers and have the come out formatted in real time. You
can type your numbers as raw then select the appropriate cells and
format all selected cells using a macro. Here is an example:

Sub ConvertSelectedRawNumbersInTableToCurrencyFormat()

If Not Selection.Information(wdWithInTable) Then
MsgBox "Place cursor in a table cell or select multiple cells."
Exit Sub
End If

Dim oCl As Word.Cell
Dim oRng As Range
Dim Count As Integer
For Each oCl In Selection.Cells
Set oRng = oCl.Range
oRng.End = oRng.End - 1
With oRng
If IsNumeric(oRng) Then
.Text = FormatCurrency _
(Expression:=.Text, _
NumDigitsAfterDecimal:=2, _
IncludeLeadingDigit:=vbTrue, _
UseParensForNegativeNumbers:=vbTrue)
End If
' If InStr(oRng.Text, "$") = False Then
If IsNumeric(oRng) = False Then
Count = Count + 1
End If
End With
Next oCl
If Count = 0 Then
MsgBox "Conversion complete."
End If
Selection.Collapse wdCollapseEnd
If Count = 1 Then
MsgBox "The selected cell is empty or content is not
numerical.", , "Notice!!"
End If
If Count 1 Then
MsgBox "" & Count & " of the selected cells are empty or
content is not numerical. Conversion complete on all selected
numerical cells.", , "Notice!!"
End If
End Sub

--
Greg Maxey/Word MVP
See:
http://gregmaxey.mvps.org/word_tips.htm
For some helpful tips using Word.

Warrain wrote:
I can see how to custom format the sum of a column of numbers but
not
how to format the raw numbers entered into the individual cells
above. Be great if someone could put me on the right track please.
Many thanks



  #8   Report Post  
Doug Robbins
 
Posts: n/a
Default

The following should be all on one line in the macro:

MsgBox "The selected cell is empty or content is not numerical.", ,
"Notice!!"


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP
"Warrain" wrote in message
...
Greg, Debug doesn't like the following line in your macro:
MsgBox "The selected cell is empty or content is not numerical.", ,
or the one following.

"Greg Maxey" wrote:

Warrain,

If you are using a simple Word document with a table then you can't
enter
raw numbers and have the come out formatted in real time. You can type
your
numbers as raw then select the appropriate cells and format all selected
cells using a macro. Here is an example:

Sub ConvertSelectedRawNumbersInTableToCurrencyFormat()

If Not Selection.Information(wdWithInTable) Then
MsgBox "Place cursor in a table cell or select multiple cells."
Exit Sub
End If

Dim oCl As Word.Cell
Dim oRng As Range
Dim Count As Integer
For Each oCl In Selection.Cells
Set oRng = oCl.Range
oRng.End = oRng.End - 1
With oRng
If IsNumeric(oRng) Then
.Text = FormatCurrency _
(Expression:=.Text, _
NumDigitsAfterDecimal:=2, _
IncludeLeadingDigit:=vbTrue, _
UseParensForNegativeNumbers:=vbTrue)
End If
' If InStr(oRng.Text, "$") = False Then
If IsNumeric(oRng) = False Then
Count = Count + 1
End If
End With
Next oCl
If Count = 0 Then
MsgBox "Conversion complete."
End If
Selection.Collapse wdCollapseEnd
If Count = 1 Then
MsgBox "The selected cell is empty or content is not numerical.", ,
"Notice!!"
End If
If Count 1 Then
MsgBox "" & Count & " of the selected cells are empty or content is
not
numerical. Conversion complete on all selected numerical cells.", ,
"Notice!!"
End If
End Sub

--
Greg Maxey/Word MVP
See:
http://gregmaxey.mvps.org/word_tips.htm
For some helpful tips using Word.

Warrain wrote:
I can see how to custom format the sum of a column of numbers but not
how to format the raw numbers entered into the individual cells
above. Be great if someone could put me on the right track please.
Many thanks






  #9   Report Post  
Warrain
 
Posts: n/a
Default

thanks Doug

"Doug Robbins" wrote:

The following should be all on one line in the macro:

MsgBox "The selected cell is empty or content is not numerical.", ,
"Notice!!"


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP
"Warrain" wrote in message
...
Greg, Debug doesn't like the following line in your macro:
MsgBox "The selected cell is empty or content is not numerical.", ,
or the one following.

"Greg Maxey" wrote:

Warrain,

If you are using a simple Word document with a table then you can't
enter
raw numbers and have the come out formatted in real time. You can type
your
numbers as raw then select the appropriate cells and format all selected
cells using a macro. Here is an example:

Sub ConvertSelectedRawNumbersInTableToCurrencyFormat()

If Not Selection.Information(wdWithInTable) Then
MsgBox "Place cursor in a table cell or select multiple cells."
Exit Sub
End If

Dim oCl As Word.Cell
Dim oRng As Range
Dim Count As Integer
For Each oCl In Selection.Cells
Set oRng = oCl.Range
oRng.End = oRng.End - 1
With oRng
If IsNumeric(oRng) Then
.Text = FormatCurrency _
(Expression:=.Text, _
NumDigitsAfterDecimal:=2, _
IncludeLeadingDigit:=vbTrue, _
UseParensForNegativeNumbers:=vbTrue)
End If
' If InStr(oRng.Text, "$") = False Then
If IsNumeric(oRng) = False Then
Count = Count + 1
End If
End With
Next oCl
If Count = 0 Then
MsgBox "Conversion complete."
End If
Selection.Collapse wdCollapseEnd
If Count = 1 Then
MsgBox "The selected cell is empty or content is not numerical.", ,
"Notice!!"
End If
If Count 1 Then
MsgBox "" & Count & " of the selected cells are empty or content is
not
numerical. Conversion complete on all selected numerical cells.", ,
"Notice!!"
End If
End Sub

--
Greg Maxey/Word MVP
See:
http://gregmaxey.mvps.org/word_tips.htm
For some helpful tips using Word.

Warrain wrote:
I can see how to custom format the sum of a column of numbers but not
how to format the raw numbers entered into the individual cells
above. Be great if someone could put me on the right track please.
Many thanks






  #10   Report Post  
Posted to microsoft.public.word.tables
SFossett
 
Posts: n/a
Default How to format negative numbers in Word tables

This was very helpfull, but I just want to format as commas. How do I change
the script to either format only as commas or as currency without the $?

"Warrain" wrote:

thanks Doug

"Doug Robbins" wrote:

The following should be all on one line in the macro:

MsgBox "The selected cell is empty or content is not numerical.", ,
"Notice!!"


--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP
"Warrain" wrote in message
...
Greg, Debug doesn't like the following line in your macro:
MsgBox "The selected cell is empty or content is not numerical.", ,
or the one following.

"Greg Maxey" wrote:

Warrain,

If you are using a simple Word document with a table then you can't
enter
raw numbers and have the come out formatted in real time. You can type
your
numbers as raw then select the appropriate cells and format all selected
cells using a macro. Here is an example:

Sub ConvertSelectedRawNumbersInTableToCurrencyFormat()

If Not Selection.Information(wdWithInTable) Then
MsgBox "Place cursor in a table cell or select multiple cells."
Exit Sub
End If

Dim oCl As Word.Cell
Dim oRng As Range
Dim Count As Integer
For Each oCl In Selection.Cells
Set oRng = oCl.Range
oRng.End = oRng.End - 1
With oRng
If IsNumeric(oRng) Then
.Text = FormatCurrency _
(Expression:=.Text, _
NumDigitsAfterDecimal:=2, _
IncludeLeadingDigit:=vbTrue, _
UseParensForNegativeNumbers:=vbTrue)
End If
' If InStr(oRng.Text, "$") = False Then
If IsNumeric(oRng) = False Then
Count = Count + 1
End If
End With
Next oCl
If Count = 0 Then
MsgBox "Conversion complete."
End If
Selection.Collapse wdCollapseEnd
If Count = 1 Then
MsgBox "The selected cell is empty or content is not numerical.", ,
"Notice!!"
End If
If Count 1 Then
MsgBox "" & Count & " of the selected cells are empty or content is
not
numerical. Conversion complete on all selected numerical cells.", ,
"Notice!!"
End If
End Sub

--
Greg Maxey/Word MVP
See:
http://gregmaxey.mvps.org/word_tips.htm
For some helpful tips using Word.

Warrain wrote:
I can see how to custom format the sum of a column of numbers but not
how to format the raw numbers entered into the individual cells
above. Be great if someone could put me on the right track please.
Many thanks






Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Making Word do something that Wordperfect can do NarniaUK New Users 4 May 1st 05 10:44 PM
Envelope Address GR New Users 5 April 24th 05 09:48 PM
Macros - Keyboard Commands Janet Microsoft Word Help 6 April 11th 05 05:28 AM
Wordperfect Office 2000 conversion to Word 2003 MikeE New Users 1 March 21st 05 01:04 AM
WP Delay Code - Word Equiv Mike G - Milw, WI Microsoft Word Help 6 January 10th 05 05:12 PM


All times are GMT +1. The time now is 04:41 PM.

Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 Microsoft Office Word Forum - WordBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Word"