Herbers Excel-Forum - das Archiv

noch mal: nicht genügend Stapelspeicher

Bild

Betrifft: noch mal: nicht genügend Stapelspeicher
von: Drum
Geschrieben am: 11.11.2003 09:24:50
Hallo liebes Forum!

ich habe diesen Beitrag schon mal verfasst, leider war es mir nicht möglich ihn zu Ende zu schreiben. Hier also einfach nochmal:

ich habe ziemlich viele Subs (über 1.000) welche alle nacheinander durch
Application.Run ausgeführt werden. Nun ist das Problem, dass die einzelnen Subs zwar ausgeführt werden - jedoch nicht automatisch nacheinander. Irgendwann
bricht das Programm ab und es erscheint die Meldung, es sei nicht
genügend "Stapelspeicher" vorhanden. Habt Ihr eine Idee, wie ich das umgehen
kann? eine



Sub sieht so aus:



Sub VR_Kuerzel_Test_JAN_G10()
If ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "Xy" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "Xy" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" Then _
Application.Run ("VR_Kuerzel_Test2_JAN_G10")
End If
Application.Run ("VR_Kuerzel_Test_JAN_G11")
End Sub





Sub VR_Kuerzel_Test2_JAN_G10()
If ThisWorkbook.Sheets("JAN").Range("G10") <> "XY" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR0001" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR0002" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR0003" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR0004" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR0005" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR0006" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR0007" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR0008" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR0009" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00010" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00011" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00012" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00013" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00014" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00015" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00016" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00017" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00018" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00019" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00020" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00021" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> "VR00022" And _
ThisWorkbook.Sheets("JAN").Range("G10") <> 0 Then _
End Sub



Hintergrund dieser


Sub ist, dass in Spalte G eine eine Abkürzung eingegeben
wird - hier noch dargestellt durch XY - die mit diesen Subs zu kontrollieren
ist. D.h. es muss für jede Zeile (10 - 54 auf EINEM Arbeitsblatt) diese
Kontrolle durchgeführt werden. Wenn keiner der abkürzungen von den vorgegeben
eingegeben wurde, wird eine Msg Box geöffnet. Ich habe 2 Subs für eine Zeile
erstellt, weil die Anzahl der And Zeilen sonst zu groß wurde.
Ich hoffe Ihr habt mein Problem verstnaden!?
MfG
Bild

Betrifft: AW: noch mal: nicht genügend Stapelspeicher
von: BerndB
Geschrieben am: 11.11.2003 17:06:44
Hallo "Drum",

warum verwendest Du nicht die Anweisung:

Select Case "Gesuchte"
Case "VR00022"
Schalter = 0
Case ...

Case Else
Schalter = 1, bzw. wurde nicht gefunden, mache dies und das!
End Select

Abhängig vom Schalter kannst Du dann weiter verfahren.
Gruß Bernd
Bild

Betrifft: AW: noch mal: nicht genügend Stapelspeicher
von: Drum
Geschrieben am: 12.11.2003 08:12:08
Danke für die Antwort, aber ich versteh die Sub nicht........ was ist da welcher befehl? wie werden die einzelnen zusammengesetzt?
Bild

Betrifft: AW: noch mal: nicht genügend Stapelspeicher
von: BerndB
Geschrieben am: 12.11.2003 18:37:41
Hallo "Drum",

ohne Eigeninitiative geht natürlich garnix.
Schau doch mal bitte in die VBA-Onlinehilfe unter "Case" nach. Da gibt es Musterbeispiele wie sowas aussehen könnte.

Gruß Bernd
Bild