Macro Instability
Sub StableExample()
Worksheets("Sheet1").FormulaR1C1 = "=Sheet2!R8C10"
Worksheets("Sheet2").Value = 0
End Sub
Make your macros like this andyou should have no problems
If you have attached a macro to a shape such as a rectangle: in the example
"Rectangle 3" another approach is to do things relative to the position of
the rectangle. You can use application.Caller to get the name of the
rectangle (then if you rename it, the code should still work or you can
assign more than one rectangle to the macro and make it operate in a
relative fashion.
Sub Rectangle3_Click()
Dim rect3 as Rectangle
sName = Application.Caller
set rect3 = Activesheet.Rectangles(sName)
set rng = rect3.TopLeftCell
rng.offset(0,-1).FormulaR1C1 = "=Sheet2!R8C10"
End Sub
--
Regards,
Tom Ogilvy
"Nat" wrote in message
...
I have just built a spreadsheet that includes about 32 macros and they
don't
always seem to function correctly. I essentially have built a game where
when
an icon is clicked a value located in another worksheet will appear. Thus,
I
have built a number of macros that are assigned to various icons, a value
appears. The macros use apply a formula, e.g. "=," to locate the value on
the
other worksheet. Some macros work fine all of the time while others
produce
odd results or require double clicks of the icon to produce the desired
value).
I am hoping to identify whether these problems are correctable through
debugging the programming or if MSExcel macros are inherently unstable or
prone to errors. Additionally, is this apparent instability associated
with
the total number of macros I am attempting to use in this workbook (there
are
a lot). The responses I receive here will aid me in approaching a
resolution
to the problem, e.g. spend the day debugging (assuming the system will
remain
stable once it is debugged) or accept the fact that if I insist on using
so
many macros that the system will never function correctly.
Additionally, I am including the text of one macro that works correctly
(Sub
Box1) and another that does not (Sub Box5). They essentially do the same
tasks, but for different icons. They were both created using the "record
macro" tool. Given that the macro text pattern is different in each
example,
I suspect the "record macro" tool simply makes errors in recognizing
actions.
Assuming the MSExcel macro system is generally stable once macros are
correctly written, I am contemplating just copying and pasting the
successful
macro (with appropiate changes) into all of the flawed macro routines.
However, if the system is unstable then doing this would just be a waste
of
time.
Thanks.
Sub Box1()
'
' Box1 Macro
' Macro recorded 2/24/2006 by Nat Pope
'
'
Range("C8").Select
ActiveCell.FormulaR1C1 = "=Sheet1!R[-4]C[10]"
Sheets("Sheet1").Select
Range("L4").Select
ActiveCell.FormulaR1C1 = "0"
Sheets("Sheet2").Select
Range("C8").Select
End Sub
Sub Box5()
'
' Box5 Macro
' Macro recorded 2/25/2006 by Nat Pope
'
'
ActiveCell.FormulaR1C1 = "=Sheet1!R[-8]C[10]"
Sheets("Sheet1").Select
Range("L8").Select
ActiveCell.FormulaR1C1 = "0"
Sheets("Sheet2").Select
End Sub
|