Macro to choose a macro

A

Alec H

Hi,

This is where I demonstrate my breathtaking ignorance.....

This is my code;




Code:
--------------------


Sub Letter1Printchoose()

Sheets("Stage 2 Letter").Select
If Range("C23").Value <> "" Then Run ([Sub Letter1Printmulti()])
If Range("C23").Value = "" Then Run ([Sub Letter1Printsingle()])
Sheets("Customer List").Select

End Sub


--------------------


Why doesn't it work?

My only excuse is that it is Friday.......
 
D

Don Guillett

try this from ANYWHERE in the workbook. NO need to select.
Sub Letter1Printchoose()
If Sheets("Stage 2 Letter").Range("C23").Value <> "" Then
application.Run ([Sub Letter1Printmulti()])
else
application. Run ([Sub Letter1Printsingle()])
end if
End Sub
 
D

Dave Peterson

How about:

Sub Letter1Printchoose()

Sheets("Stage 2 Letter").Select
If Range("C23").Value <> "" Then
call Letter1Printmulti
else
call Letter1Printsingle
end if
Sheets("Customer List").Select

End Sub

Alec said:
Hi,

This is where I demonstrate my breathtaking ignorance.....

This is my code;

Code:
--------------------


Sub Letter1Printchoose()

Sheets("Stage 2 Letter").Select
If Range("C23").Value <> "" Then Run ([Sub Letter1Printmulti()])
If Range("C23").Value = "" Then Run ([Sub Letter1Printsingle()])
Sheets("Customer List").Select

End Sub


--------------------

Why doesn't it work?

My only excuse is that it is Friday.......
 
A

Alec H

Dave,

Thank you for that, however it doesnt appear to have resolved the
issue.

Simply Print1Letterchoose is intended to be a user activated (via
button on worksheet) macro that checks the contents of cell C23 and
then either runs Print1Lettermulti or Print1Lettersingle dependant on
the result.

Both Print1Lettermulti and Print1Lettersingle work perfectly
independantly but I cant seem to get Print1Letterchoose to "see"
them......

Thanks,

Alec.
 
D

Dave Peterson

What sheet contains the C23 that you want to inspect?

Maybe dropping the selection

Sub Letter1Printchoose()

if Sheets("Stage 2 Letter").Range("C23").Value <> "" Then
call Letter1Printmulti
else
call Letter1Printsingle
end if

End Sub

====
If that doesn't work...

What kind of button did you use? I guessed it was a button from the Forms
toolbar--not a command button from the Control Toolbox toolbar.

Where did you put this code (including the Letter1printmulti and
letter1printsingle routines)?

I'm guessing that you didn't put them in a general module (where they belong).
I'm guessing that you put them behind one of the worksheets--or behind
ThisWorkbook????
 
Top