Problems creating my own ifmacro function

F

filo666

Hi, I made a cutom function but it's not working (the #Value error is shown),
i attached the code so you can see it:

Public Function ifmacro(m0 As String, m1 As String, m2 As String, m3 As
String) As String
If m0 = m1 Then
DoCmd.RunMacro m2
Else
DoCmd.RunMacro m3
End If
End Function

as you can see if I put in cell A7 the following text
"=ifmacro(A1;A2;"Macro1";"Macro2")" and the values of A1=3 and A2=3 then A1=A2
so Macro1 should be executed, but this not happend, the #value error appears
instead.
questions:
1) Why my function is not working???
2)How to change The m0 and m1 variables to just one (like the if function
"=if(A1=A2;........................................)")?????
TIA.
 
T

Tom Ogilvy

There is no doCmd in Excel. This is an Access VBA command.

Perhaps replace with

Application.Run m2

although this isn't allowed in a UDF used in a worksheet. For you second
question.

Public Function ifmacro(bval As Boolean, m2 As String, m3 As String) As
Boolean
If bval Then
macro1
Else
macro2
End If
ifmacro = bval
End Function
 
F

filo666

Thanks tom; There is some way to do what I want????, if not, thanks anyway,
you information was helpfull.
 

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