Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 72
Default Custom Number Formats in Code

Hi,

Hope this qualifies as "programming".

the following macro:

Selection.NumberFormat = "#,##0_);(#,##0)"

does not do the job I was hoping.

On examination the format that is applied is:

#,##0;-#,##0

any way to get my preferred format to "take"?

TIA, Matt
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 72
Default Custom Number Formats in Code

Further Developments :-)

Irony of Ironies - this is the example in the Help system:

Example
These examples set the number format for cell A17, row one, and column C
(respectively) on Sheet1.

Worksheets("Sheet1").Range("A17").NumberFormat = "General"
Worksheets("Sheet1").Rows(1).NumberFormat = "hh:mm:ss"
Worksheets("Sheet1").Columns("C"). _
NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"

and this doesn't work either!

My colleague very helpfully suggested using "Styles" and while this should
be workable this is starting to turn something that should be super-neat and
tidy into something more cumbersome (having to create the style
programmatically before applying it).

So suggestions as to why the simple approach isn't working are still sought.

TIA and Cheers, Matt



"veryeavy" wrote:

Hi,

Hope this qualifies as "programming".

the following macro:

Selection.NumberFormat = "#,##0_);(#,##0)"

does not do the job I was hoping.

On examination the format that is applied is:

#,##0;-#,##0

any way to get my preferred format to "take"?

TIA, Matt

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Custom Number Formats in Code

Excel depends on somethings from windows.

Try changing the negative currency format under windows regional settings (under
control panel) to:
($1.1)

When I changed it to:
-$1.1

I had the same problem as you.

And I had to close excel and reopen to see the difference.

veryeavy wrote:

Further Developments :-)

Irony of Ironies - this is the example in the Help system:

Example
These examples set the number format for cell A17, row one, and column C
(respectively) on Sheet1.

Worksheets("Sheet1").Range("A17").NumberFormat = "General"
Worksheets("Sheet1").Rows(1).NumberFormat = "hh:mm:ss"
Worksheets("Sheet1").Columns("C"). _
NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"

and this doesn't work either!

My colleague very helpfully suggested using "Styles" and while this should
be workable this is starting to turn something that should be super-neat and
tidy into something more cumbersome (having to create the style
programmatically before applying it).

So suggestions as to why the simple approach isn't working are still sought.

TIA and Cheers, Matt

"veryeavy" wrote:

Hi,

Hope this qualifies as "programming".

the following macro:

Selection.NumberFormat = "#,##0_);(#,##0)"

does not do the job I was hoping.

On examination the format that is applied is:

#,##0;-#,##0

any way to get my preferred format to "take"?

TIA, Matt


--

Dave Peterson
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 72
Default Custom Number Formats in Code

Hi Dave,

I don't seem to have a specific negative currency option.

My Options are Number: and Currency:

and are set to:

123,456,789.00 and $123,456,789.00 respectively.

I am running Excel 2003 SP1 on Windows XP Professional SP2.

TIAA :-)

Matt

"Dave Peterson" wrote:

Excel depends on somethings from windows.

Try changing the negative currency format under windows regional settings (under
control panel) to:
($1.1)

When I changed it to:
-$1.1

I had the same problem as you.

And I had to close excel and reopen to see the difference.

veryeavy wrote:

Further Developments :-)

Irony of Ironies - this is the example in the Help system:

Example
These examples set the number format for cell A17, row one, and column C
(respectively) on Sheet1.

Worksheets("Sheet1").Range("A17").NumberFormat = "General"
Worksheets("Sheet1").Rows(1).NumberFormat = "hh:mm:ss"
Worksheets("Sheet1").Columns("C"). _
NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"

and this doesn't work either!

My colleague very helpfully suggested using "Styles" and while this should
be workable this is starting to turn something that should be super-neat and
tidy into something more cumbersome (having to create the style
programmatically before applying it).

So suggestions as to why the simple approach isn't working are still sought.

TIA and Cheers, Matt

"veryeavy" wrote:

Hi,

Hope this qualifies as "programming".

the following macro:

Selection.NumberFormat = "#,##0_);(#,##0)"

does not do the job I was hoping.

On examination the format that is applied is:

#,##0;-#,##0

any way to get my preferred format to "take"?

TIA, Matt


--

Dave Peterson

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Custom Number Formats in Code

In WinXP Home, I can get to the Control panel
then Regional and language options
then click the customize button
On the currency tab, I see "negative currency format" as the 3rd dropdown.


veryeavy wrote:

Hi Dave,

I don't seem to have a specific negative currency option.

My Options are Number: and Currency:

and are set to:

123,456,789.00 and $123,456,789.00 respectively.

I am running Excel 2003 SP1 on Windows XP Professional SP2.

TIAA :-)

Matt

"Dave Peterson" wrote:

Excel depends on somethings from windows.

Try changing the negative currency format under windows regional settings (under
control panel) to:
($1.1)

When I changed it to:
-$1.1

I had the same problem as you.

And I had to close excel and reopen to see the difference.

veryeavy wrote:

Further Developments :-)

Irony of Ironies - this is the example in the Help system:

Example
These examples set the number format for cell A17, row one, and column C
(respectively) on Sheet1.

Worksheets("Sheet1").Range("A17").NumberFormat = "General"
Worksheets("Sheet1").Rows(1).NumberFormat = "hh:mm:ss"
Worksheets("Sheet1").Columns("C"). _
NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"

and this doesn't work either!

My colleague very helpfully suggested using "Styles" and while this should
be workable this is starting to turn something that should be super-neat and
tidy into something more cumbersome (having to create the style
programmatically before applying it).

So suggestions as to why the simple approach isn't working are still sought.

TIA and Cheers, Matt

"veryeavy" wrote:

Hi,

Hope this qualifies as "programming".

the following macro:

Selection.NumberFormat = "#,##0_);(#,##0)"

does not do the job I was hoping.

On examination the format that is applied is:

#,##0;-#,##0

any way to get my preferred format to "take"?

TIA, Matt


--

Dave Peterson


--

Dave Peterson


  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 72
Default Custom Number Formats in Code

Many Thanks.

Silly Me - didn't look there.

Unfortunately in our drab, bolted down, corporate world we don't seem to be
allowed to change this option ...

"Dave Peterson" wrote:

In WinXP Home, I can get to the Control panel
then Regional and language options
then click the customize button
On the currency tab, I see "negative currency format" as the 3rd dropdown.


veryeavy wrote:

Hi Dave,

I don't seem to have a specific negative currency option.

My Options are Number: and Currency:

and are set to:

123,456,789.00 and $123,456,789.00 respectively.

I am running Excel 2003 SP1 on Windows XP Professional SP2.

TIAA :-)

Matt

"Dave Peterson" wrote:

Excel depends on somethings from windows.

Try changing the negative currency format under windows regional settings (under
control panel) to:
($1.1)

When I changed it to:
-$1.1

I had the same problem as you.

And I had to close excel and reopen to see the difference.

veryeavy wrote:

Further Developments :-)

Irony of Ironies - this is the example in the Help system:

Example
These examples set the number format for cell A17, row one, and column C
(respectively) on Sheet1.

Worksheets("Sheet1").Range("A17").NumberFormat = "General"
Worksheets("Sheet1").Rows(1).NumberFormat = "hh:mm:ss"
Worksheets("Sheet1").Columns("C"). _
NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"

and this doesn't work either!

My colleague very helpfully suggested using "Styles" and while this should
be workable this is starting to turn something that should be super-neat and
tidy into something more cumbersome (having to create the style
programmatically before applying it).

So suggestions as to why the simple approach isn't working are still sought.

TIA and Cheers, Matt

"veryeavy" wrote:

Hi,

Hope this qualifies as "programming".

the following macro:

Selection.NumberFormat = "#,##0_);(#,##0)"

does not do the job I was hoping.

On examination the format that is applied is:

#,##0;-#,##0

any way to get my preferred format to "take"?

TIA, Matt

--

Dave Peterson


--

Dave Peterson

  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Custom Number Formats in Code

You may not have to close Excel and reopen--I may have not hit the Apply button
(oopsie!).

veryeavy wrote:

Further Developments :-)

Irony of Ironies - this is the example in the Help system:

Example
These examples set the number format for cell A17, row one, and column C
(respectively) on Sheet1.

Worksheets("Sheet1").Range("A17").NumberFormat = "General"
Worksheets("Sheet1").Rows(1).NumberFormat = "hh:mm:ss"
Worksheets("Sheet1").Columns("C"). _
NumberFormat = "$#,##0.00_);[Red]($#,##0.00)"

and this doesn't work either!

My colleague very helpfully suggested using "Styles" and while this should
be workable this is starting to turn something that should be super-neat and
tidy into something more cumbersome (having to create the style
programmatically before applying it).

So suggestions as to why the simple approach isn't working are still sought.

TIA and Cheers, Matt

"veryeavy" wrote:

Hi,

Hope this qualifies as "programming".

the following macro:

Selection.NumberFormat = "#,##0_);(#,##0)"

does not do the job I was hoping.

On examination the format that is applied is:

#,##0;-#,##0

any way to get my preferred format to "take"?

TIA, Matt


--

Dave Peterson
  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,494
Default Custom Number Formats in Code

it works for me.

in a blank worksheet, enter a number in a1 and make sure it's selected
then in the vb editor open the immediate window (view/immediate window or
ctrl-G)

then paste your code in there, place your cursor on the line of code and hit
enter: Selection.NumberFormat = "#,##0_);(#,##0)"

does it format your number correctly?




--


Gary


"veryeavy" wrote in message
...
Hi,

Hope this qualifies as "programming".

the following macro:

Selection.NumberFormat = "#,##0_);(#,##0)"

does not do the job I was hoping.

On examination the format that is applied is:

#,##0;-#,##0

any way to get my preferred format to "take"?

TIA, Matt



  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 72
Default Custom Number Formats in Code

No.

Can I expect to get differing results via the immediate window rather than
the macro? This is quite literally a one line macro so I wouldn't have
expected a different result ...

Was worth a try tho' :-)

Thx

"Gary Keramidas" wrote:

it works for me.

in a blank worksheet, enter a number in a1 and make sure it's selected
then in the vb editor open the immediate window (view/immediate window or
ctrl-G)

then paste your code in there, place your cursor on the line of code and hit
enter: Selection.NumberFormat = "#,##0_);(#,##0)"

does it format your number correctly?




--


Gary


"veryeavy" wrote in message
...
Hi,

Hope this qualifies as "programming".

the following macro:

Selection.NumberFormat = "#,##0_);(#,##0)"

does not do the job I was hoping.

On examination the format that is applied is:

#,##0;-#,##0

any way to get my preferred format to "take"?

TIA, Matt




  #10   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 762
Default Custom Number Formats in Code

veryeavy -

Can I expect to get differing results via the immediate window rather than
the macro? <


Yes, you can expect different formatting in the VBE immediate window
compared with the formatting in a cell in an Excel worksheet.

- Mike
http://www.mikemiddleton.com




  #11   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 947
Default Custom Number Formats in Code

Your code worked fine for me also.
Does this small code help in debugging.
It returns the current format, what it should be, and what it was changed
to.

Sub Test()
Const s As String = "#,##0_);(#,##0)"

Debug.Print Range("A1").NumberFormat
Range("A1").NumberFormat = s

Debug.Print s
Debug.Print Range("A1").NumberFormat
End Sub

For me, it returned:

General
#,##0_);(#,##0)
#,##0_);(#,##0)

--
HTH :)
Dana DeLouis
Windows XP & Office 2003


"veryeavy" wrote in message
...
Hi,

Hope this qualifies as "programming".

the following macro:

Selection.NumberFormat = "#,##0_);(#,##0)"

does not do the job I was hoping.

On examination the format that is applied is:

#,##0;-#,##0

any way to get my preferred format to "take"?

TIA, Matt



  #12   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 72
Default Custom Number Formats in Code

Thanks Dana)

Now we are getting somewhere. It does indeed return the "supposed" format
that I have applied.

That leaves the question - Why does using this line of code and using the
"format cells" dialog lead to two different results (as I am presuming this
discounts Dave's helpful suggestion re Settings - thanks Dave!)?

"Dana DeLouis" wrote:

Your code worked fine for me also.
Does this small code help in debugging.
It returns the current format, what it should be, and what it was changed
to.

Sub Test()
Const s As String = "#,##0_);(#,##0)"

Debug.Print Range("A1").NumberFormat
Range("A1").NumberFormat = s

Debug.Print s
Debug.Print Range("A1").NumberFormat
End Sub

For me, it returned:

General
#,##0_);(#,##0)
#,##0_);(#,##0)

--
HTH :)
Dana DeLouis
Windows XP & Office 2003


"veryeavy" wrote in message
...
Hi,

Hope this qualifies as "programming".

the following macro:

Selection.NumberFormat = "#,##0_);(#,##0)"

does not do the job I was hoping.

On examination the format that is applied is:

#,##0;-#,##0

any way to get my preferred format to "take"?

TIA, Matt




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
custom number formats Dave F Excel Discussion (Misc queries) 3 October 7th 06 12:28 AM
Custom Number Formats - Help James Hamilton Excel Discussion (Misc queries) 3 May 16th 06 04:10 PM
custom number formats Louise Excel Worksheet Functions 7 May 4th 06 12:30 PM
[$-409] in Custom Number Formats Conan Kelly Charts and Charting in Excel 2 April 14th 06 12:19 PM
Custom Number Formats Dan Swartz Excel Worksheet Functions 1 September 24th 05 11:09 PM


All times are GMT +1. The time now is 02:22 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"