How do I call Fourier Analysis in Excel2007 in a macro?

N

Neal Carron

A 2005 thread discussed this in earlier versions of Excel, but the methods
don't work in Excel 2007.
I need to do a Fourier Transform in a macro. The macro inserts
Application.Run "ATPVBAEN.XLAM!Fourier", , , False, False

I keep getting errors there, and the macro stops.
Can anyone help?
 
D

Dana DeLouis

Application.Run "ATPVBAEN.XLAM!Fourier", , , False, False

It appears your macro is missing the input and output range.
Also note that Fourier can not overwrite the output range if the output
range has data. You have to clear the output range before calling this
function.

= = =
HTH
Dana DeLouis
 
N

Neal Carron

That doesn't appear to be the problem.
I've cleared the output range, and clearly inserted the input and output
ranges in the FT routine. I still get the error msg:

Application.Run "ATPVBAEN.XLAM!Fourier", , , False, False

And I've saved the file as macro-enabled (*.xlsm).

In direct application (outside the macro) the FT will overwrite existing
data (a dialog box asks if you wish to do so).

So I still don't know how to run a FT in an Excel97 macro.
- Neal
 
D

Dana DeLouis

I still get the error msg:

What error message are you getting?

If you have data in A1:A4, and C1:C4 is clear, this small demo works in
Excel 2007.

Sub Demo()
Run "ATPVBAEN.XLAM!FOURIER", Range("A1:A4"), Range("C1"), False, False

End Sub

= = =
HTH
Dana DeLouis
 
N

Neal Carron

Thanks. I tried your example. Still doesn't work. It says:

Run-time error '1004':
Method 'Run' of object '_Application' failed

- Neal
 
D

Dana DeLouis

Run-time error '1004':
Method 'Run' of object '_Application' failed

Ok. Try this in Excel 2007

Office Button...
Excel Options (Near bottom)
Add-Ins (On Left)
Manage: Excel Add-ins ...click "Go" (Near Bottom)

Make Sure
Analysis Toolpak
and
Analysis Toolpak - VBA

are both selected.

I think it should work now, but I'm guessing...


Just a Note:

When you write..
Application.Run "ATPVBAEN.XLAM!Fourier", , , False, False

One can not tell the size of your input range. Fourier works in 2^k
size, so it is hard to tell if the size of your input range was not correct.

Manually, Excel will overwrite the data as you mentioned...I was just
mentioning the "bug" that has been around a while in that vba generates
an error if the output range has data. The output range must be cleared
first. Why this has not been fixed yet...I have no idea. :>(

= = = =
HTH :>)
Dana DeLouis
 
N

Neal Carron

Aaaahhhh. You're a genius.
Analysis Toolpak was activated, but
Analysis Toolpak - VBA was not.
Works fine now.
"Mystery is always annoying, and is usually due to lack of clear analysis" -
Bertram Russel.

Thanks.
- Neal
 

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