PC Review


Reply
Thread Tools Rate Thread

Can't use Autofill with a User Defined Function in VBA

 
 
Jonathan Brown
Guest
Posts: n/a
 
      31st Oct 2008
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 With Quote
 
 
 
 
Anant Basant
Guest
Posts: n/a
 
      31st Oct 2008
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 With Quote
 
Jonathan Brown
Guest
Posts: n/a
 
      15th Dec 2008
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 With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Using dcount function within user-defined worksheet function =?Utf-8?B?cG9uZ3RoYWk=?= Microsoft Excel Programming 3 15th Jan 2007 09:55 AM
Excel - User Defined Function Error: This function takes no argume =?Utf-8?B?QnJ1Y2VJbkNhbGdhcnk=?= Microsoft Excel Programming 3 23rd Aug 2006 08:53 PM
Need to open the Function Arguments window from VBA for a user defined function. korrin.anderson@gmail.com Microsoft Excel Programming 0 20th Jun 2006 03:53 PM
User Defined Function does not appear on Function listing =?Utf-8?B?SC5QLkhvZWllLCBOb3J3YXk=?= Microsoft Excel Programming 1 21st Mar 2006 10:27 AM
User-Defined Function pre-empting Built-in Function? How to undo???? MarWun Microsoft Excel Programming 1 6th Aug 2003 09:31 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 12:05 PM.