macro needed please

J

jackrobyn1

i need a macro that will when run will put a number 1 in cell A1 but if there
is already a number 1 i want the same macro to enter a 0 (zero) i supose its
a bit like a switch. To sum up exactly what i need.... If there is a 0 (zero)
i want the macro to enter a 1 in cell A1 and then print page 1 of my "output"
worksheet. If there is already a 1 in A1 then i want it to enter a 0 (zero)
with no print.

Sorry if this seems silly but it really would be useful in what im trying to
achieve
p.s. the macro will run when i click an auto shape thats assigned to it
Thanks
 
L

L. Howard Kittle

Maybe something like this...

Sub ZeroOrOne()

If Range("A1").Value = 0 Then
Range("A1").Value = 1
ActiveWindow.SelectedSheets.PrintOut
ElseIf Range("A1").Value = 1 Then
Range("A1").Value = 0
End If

End Sub

HTH
Regards,
Howard
 
E

EricJohnson

jackrobyn1 said:
i need a macro that will when run will put a number 1 in cell A1 but if there
is already a number 1 i want the same macro to enter a 0 (zero) i supose its
a bit like a switch. To sum up exactly what i need.... If there is a 0 (zero)
i want the macro to enter a 1 in cell A1 and then print page 1 of my "output"
worksheet. If there is already a 1 in A1 then i want it to enter a 0 (zero)
with no print.

Sorry if this seems silly but it really would be useful in what im trying to
achieve
p.s. the macro will run when i click an auto shape thats assigned to it
Thanks
 
E

EricJohnson

Here's one approach:

sub Switch()
cells(1, 1) = abs(cells(1, 1) - 1)
if cells(1, 1) = 1 then
'Call your print routine - you can record a macro if needed.
end if
end sub

Note that if cell(1, 1) contains 1, then 1 - 1 = 0, and the absolute value
of 0 = 0. If the cell contains 0 then 0 - 1 = -1 and the absolute value of
-1 is 1. So, you've got your switch.
 
Top