wake-up-neo.com

Prozedur zu groß

Ich habe diese Fehlermeldung -Procedure too large - in VBA erhalten. Was ist der Grund und der Ausweg für diesen Fehler?

14
Sourav

Sie haben wahrscheinlich eine oder mehrere gigantische Prozeduren/Funktionen und ich denke, VBA hat ein Limit von 64k pro Prozedur.

Sie beheben das Problem, indem Sie diese Prozedur in mehrere Prozeduren aufteilen, die dann von der einen Prozedur aufgerufen werden können.

Also anstatt zu haben:

 Sub GiantProcedure()
      ... ' lots and lots of code
 End Sub

Sie hätten so etwas wie:

 Sub GiantProcedure()
      ... ' a little bit of common code
      Proc1()
      Proc2()
      Proc3()

 End Sub

 Sub Proc1()
      ... ' quite a bit of code
 End Sub

 Sub Proc2()
      ... ' quite a bit of code
 End Sub

 Sub Proc3()
      ... ' quite a bit of code
 End Sub
17
Hans Olsson

Ihre kompilierte Prozedur darf 64 KB nicht überschreiten. Sie sollten es in verschiedene Unterprogramme aufteilen.

http://msdn.Microsoft.com/de-de/library/Aa264541

5
Wix

Diese Fehlermeldung wird möglicherweise angezeigt, wenn das Makro mit der 64-Bit-Version von Office erstellt wurde. In dem folgenden Artikel finden Sie weitere Details und eine Problemumgehung:

Fehlermeldung "Kompilierungsfehler: Prozedur zu groß", wenn Sie versuchen, ein VBA-Makro in einer 32-Bit-Version eines Office 2010-Programms auszuführen

1
Dirk Vollmar

Die Idee von GiantProcedure hat bei mir mit Microsoft PowerPoint 2013 nicht funktioniert. Dann fügte ich vor jedem "proc" einen "Aufruf" hinzu. So was:

Sub GiantProcedure()

  Call Proc1()
  Call Proc2()
  Call Proc3()

End Sub

Jetzt gehts.

0
Siamak