2010-09-20 19 views
13

Ho ricevuto questo messaggio di errore - Procedure too large - in VBA. Qual è la ragione e la via d'uscita per questo errore?Procedura troppo grande

risposta

16

Probabilmente hai una o più procedure/funzioni gigantesche e penso che VBA abbia un limite di 64k o qualcosa per procedura.

È possibile risolvere il problema suddividendo la procedura in più procedure che possono essere richiamate da un'unica procedura.

Così, invece di avere:

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

Avresti qualcosa di simile:

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 
+7

Questo errore è direttamente fuori degli anni 1980 ... VBA ha raggiunto un nuovo livello di arcaico ... faccia di palma –