ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   Out of Stack space - run time error 28 (https://www.excelbanter.com/excel-discussion-misc-queries/169950-out-stack-space-run-time-error-28-a.html)

Rob

Out of Stack space - run time error 28
 
I am trying to run a macro in Excel and keep running out of Stack space can
anyone see what is wrong (probably a lot) with this macro.

Sub Macro2()
'
' Macro2 Macro
' Macro recorded 17/12/2007 by RLamb2
'

'
Range("A2").Select
Application.Run "'Export from APC.xls'!Changelength"
End Sub

Sub Changelength()

If Len(ActiveCell) = 0 Then
Application.Run "'Export from APC.xls'!Extractdate"
End If
If Len(ActiveCell) = 4 Then
Selection.Offset(1, 0).Select
End If
If Len(ActiveCell) = 3 Then
ActiveCell.Formula = "'0" & ActiveCell.Formula
End If
Selection.Offset(1, 0).Select
Application.Run "'Export from APC.xls'!Checklength"

End Sub

Jim Rech[_2_]

Out of Stack space - run time error 28
 
The sub can't just keep calling itself. Check your logic.

Sub CallMe()
CallMe
End Sub

--
Jim
"Rob" wrote in message
...
|I am trying to run a macro in Excel and keep running out of Stack space can
| anyone see what is wrong (probably a lot) with this macro.
|
| Sub Macro2()
| '
| ' Macro2 Macro
| ' Macro recorded 17/12/2007 by RLamb2
| '
|
| '
| Range("A2").Select
| Application.Run "'Export from APC.xls'!Changelength"
| End Sub
|
| Sub Changelength()
|
| If Len(ActiveCell) = 0 Then
| Application.Run "'Export from APC.xls'!Extractdate"
| End If
| If Len(ActiveCell) = 4 Then
| Selection.Offset(1, 0).Select
| End If
| If Len(ActiveCell) = 3 Then
| ActiveCell.Formula = "'0" & ActiveCell.Formula
| End If
| Selection.Offset(1, 0).Select
| Application.Run "'Export from APC.xls'!Checklength"
|
| End Sub



Jim Thomlinson

Out of Stack space - run time error 28
 
What is your stopping criteria. There is nothing that stops this from
running. You have an infinite loop. As guess you are trying to loop through
all of the cells in Column A until you run out of data. If that is the case
then try somethying more like this...

sub WhatEver()
dim rng as range
dim rngToSearch as Range

set rngtosearch = range(range("A2"), cells(rows.count, "A").end(xlup))

for each rng in rngtosearch
with rng
select len(rng)
case 0
call extractdate
case 3
rng.formula = "'0" & rng.formula
end select
end with
next rng
end sub
--
HTH...

Jim Thomlinson


"Rob" wrote:

I am trying to run a macro in Excel and keep running out of Stack space can
anyone see what is wrong (probably a lot) with this macro.

Sub Macro2()
'
' Macro2 Macro
' Macro recorded 17/12/2007 by RLamb2
'

'
Range("A2").Select
Application.Run "'Export from APC.xls'!Changelength"
End Sub

Sub Changelength()

If Len(ActiveCell) = 0 Then
Application.Run "'Export from APC.xls'!Extractdate"
End If
If Len(ActiveCell) = 4 Then
Selection.Offset(1, 0).Select
End If
If Len(ActiveCell) = 3 Then
ActiveCell.Formula = "'0" & ActiveCell.Formula
End If
Selection.Offset(1, 0).Select
Application.Run "'Export from APC.xls'!Checklength"

End Sub



All times are GMT +1. The time now is 03:15 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com