Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 47
Default Can't use Autofill with a User Defined Function in VBA

I've created a function that will count the number of cells in a range that
don't contain a formula or are numeric. I named this function =Jonathan()
(pretty original eh?)

I then have a macro that will find my range (this part I've got figured out)
and then add the formula =jonathan(myrange) to the activecell. It then uses
the autofill method to fill the cells to the right about 50 something
columns. For some reason, all the cells besides the activecell are returning
#Value! errors. However, if I do the autofill manually with my mouse after
the macro is finished processing, the function works fine. So I know the
function works and the ranges are correct.

Now, if I replace the formula =jonathan(myrange) in the macro with the Excel
built-in function =COUNTA(myrange) then the autofill works fine, granted, I
don't get the results I want but the autofill works correctly.

Is there some limitation to using autofill in VBA with a User Defined
Function? Do I need to add something to my UDF to tell autofill how to treat
it?


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 30
Default Can't use Autofill with a User Defined Function in VBA

A UDF can not change anything on the worksheet, for example it can not format
cells etc. That is the limitation of a user defined function and not of the
AutoFill property.



"Jonathan Brown" wrote:

I've created a function that will count the number of cells in a range that
don't contain a formula or are numeric. I named this function =Jonathan()
(pretty original eh?)

I then have a macro that will find my range (this part I've got figured out)
and then add the formula =jonathan(myrange) to the activecell. It then uses
the autofill method to fill the cells to the right about 50 something
columns. For some reason, all the cells besides the activecell are returning
#Value! errors. However, if I do the autofill manually with my mouse after
the macro is finished processing, the function works fine. So I know the
function works and the ranges are correct.

Now, if I replace the formula =jonathan(myrange) in the macro with the Excel
built-in function =COUNTA(myrange) then the autofill works fine, granted, I
don't get the results I want but the autofill works correctly.

Is there some limitation to using autofill in VBA with a User Defined
Function? Do I need to add something to my UDF to tell autofill how to treat
it?


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 47
Default Can't use Autofill with a User Defined Function in VBA

Update: I came to find that if I set the Calculation Options to "Manual" at
the start of my code and then set it back to "Automatic" at the end of my
code then my UDF worked correctly. Also, rather than using the autofill
method, I just added the "=jonathan(myrange)" formula to the entire range of
cells that I wanted the formula to be in. The "myrange" ranges changed as
needed thanks to relative referencing.

"Anant Basant" wrote:

A UDF can not change anything on the worksheet, for example it can not format
cells etc. That is the limitation of a user defined function and not of the
AutoFill property.



"Jonathan Brown" wrote:

I've created a function that will count the number of cells in a range that
don't contain a formula or are numeric. I named this function =Jonathan()
(pretty original eh?)

I then have a macro that will find my range (this part I've got figured out)
and then add the formula =jonathan(myrange) to the activecell. It then uses
the autofill method to fill the cells to the right about 50 something
columns. For some reason, all the cells besides the activecell are returning
#Value! errors. However, if I do the autofill manually with my mouse after
the macro is finished processing, the function works fine. So I know the
function works and the ranges are correct.

Now, if I replace the formula =jonathan(myrange) in the macro with the Excel
built-in function =COUNTA(myrange) then the autofill works fine, granted, I
don't get the results I want but the autofill works correctly.

Is there some limitation to using autofill in VBA with a User Defined
Function? Do I need to add something to my UDF to tell autofill how to treat
it?


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
Using dcount function within user-defined worksheet function pongthai Excel Programming 3 January 15th 07 09:55 AM
Excel - User Defined Function Error: This function takes no argume BruceInCalgary Excel Programming 3 August 23rd 06 08:53 PM
Need to open the Function Arguments window from VBA for a user defined function. [email protected] Excel Programming 0 June 20th 06 03:53 PM
User-defined data type; Error: Only User-defined types... tiger_PRM Excel Programming 1 July 18th 04 03:32 PM
User-Defined Function pre-empting Built-in Function? How to undo???? MarWun Excel Programming 1 August 6th 03 09:31 PM


All times are GMT +1. The time now is 03:46 AM.

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

About Us

"It's about Microsoft Excel"