Hi Myles,
'=============
Public Sub Tester03()
Dim SH As Worksheet
Dim c As Range
Dim CalcMode As Long
On Error GoTo XIT
With Application
CalcMode = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With
For Each SH In Worksheets
For Each c In SH.Range("A1:A20") '<<==== CHANGE
If Not IsEmpty(c) Then
Call MyMacro(c) '<<==== CHANGE
End If
Next c
Next SH
XIT:
With Application
.Calculation = CalcMode
.ScreenUpdating = True
End With
End Sub
'<<=============
'=============
Sub MyMacro(rng As Range)
rng.Interior.ColorIndex = 6
End Sub
'<<=============
--
---
Regards,
Norman
"Myles" wrote in
message ...
Another one that failed ...
Passing the current sheet as an argument, as in:
Sub LoopThruShtsIn2Phases()
Dim sh as Worksheet
For each sh in worksheets
Call DoSomething(sh)
Next
End Sub
Sub DoSomething(obSht) *'returns Object doesn't support this property
or method *error
Dim c as range
For each c in obSht.Range("a:a")
Is Not Isempty(c) Then
<CarryOutSomeActions
End if
Next
End Sub
--
Myles
------------------------------------------------------------------------
Myles's Profile:
http://www.excelforum.com/member.php...o&userid=28746
View this thread: http://www.excelforum.com/showthread...hreadid=496613