Can not change the numberformat

G

Guest

I try to change the cell number format in my "add in" module using following
statement:

ActiveCell.NumberFormat = "0.00%"

But it does not change the the format, the cell number format was still
"General".

here is my whole code:

Option Explicit

Function numberformat_test()
ActiveCell.NumberFormat = "0.00%"
numberformat_pc_test = 0.234
End Function

1. This code is save in test.xla as a add in file;
2. In Excel, from Tools->Add-Ins, load test.xla;
3. From Excel: Insert->Functions->User Defined category select
numberformat_test function;
4. The cell supposes present 23.4%; but it displays 0.234.


Some friends kindly offered some solutions, but they are only callable in
Macro and should be only resident in local sheet. What I want is an add-in
xla file which can be called by any sheet.

Thanks.
 
B

BrianB

1. It is not possible to change workspace formatting etc. from within
function. Only a sub routine.

2. This cannot be all your code because you are using Option Explici
which requires declaration of all variables (in this cas
numberformat_pc_test).

3. Your basic function structure is incorrect. You have no argument(s
and no return value which must be the same name as the function
 
G

Guest

Thanks BrianB for your kind reply.

Yes, that is not all my code, I just post relative one and try to focus on
the problem.

How can I use sub routine to change the format in add-in xla file?

Cheers.
 
D

Dave Peterson

You can select your range to change formats and do:

Option Explicit
Sub Changenumberformat_test()
Selection.NumberFormat = "0.00%"
End Sub

Then back to excel and Tools|macro|macros... and run "ChangeNumberFormat_test"



X.Yu said:
Thanks BrianB for your kind reply.

Yes, that is not all my code, I just post relative one and try to focus on
the problem.

How can I use sub routine to change the format in add-in xla file?

Cheers.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top