Erste Fehlermeldung Prozedur zu groß " in VBA-Makros (Excel)
Ich bin immer Procedure too Large Error
in einem VBA-makro.
Ich bin mit MS-Excel 2003.
Bitte schreiben Sie niemals Prozeduren, die mehr als 65534 Zeilen code.
Ich glaube, es ist nicht die Anzahl der Zeilen zählt. Kann man diesen Fehler in 4k-Linien als auch. Es ist die Größe des Verfahrens. Die Verfahren, die bei der Kompilierung nicht überschreiten 64kilobytes. Niraj, brechen Sie Ihr Verfahren in kleinere Teile und wenn Sie ein makro aufgezeichnet haben, dann löschen Sie irrelevante code.
Dank Siddharth
Mehr als 64kb. Ich bin beeindruckt. Und ratlos.
Nur als Randbemerkung, wenn Sie hierher kommen, von google - es ist wahrscheinlich, dass Sie sehen, dieses weil Sie Links den makro-recorder laufen für eine lange Zeit
Ich glaube, es ist nicht die Anzahl der Zeilen zählt. Kann man diesen Fehler in 4k-Linien als auch. Es ist die Größe des Verfahrens. Die Verfahren, die bei der Kompilierung nicht überschreiten 64kilobytes. Niraj, brechen Sie Ihr Verfahren in kleinere Teile und wenn Sie ein makro aufgezeichnet haben, dann löschen Sie irrelevante code.
Dank Siddharth
Mehr als 64kb. Ich bin beeindruckt. Und ratlos.
Nur als Randbemerkung, wenn Sie hierher kommen, von google - es ist wahrscheinlich, dass Sie sehen, dieses weil Sie Links den makro-recorder laufen für eine lange Zeit
InformationsquelleAutor Code Hungry | 2012-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erhalten Sie diesen Fehler, wenn Ihre Vorgehensweise ist mehr als 64kb. Dies sind einige der Dinge, die Sie zum komprimieren der code
1) loszuwerden, sich wiederholenden code. Siehe dieses Beispiel
Dieser code kann geschrieben werden als
Weiteres Beispiel
Dieser code kann geschrieben werden als
Dadurch wird sichergestellt, dass Sie nach unten geschnitten auf Raum und schreiben Sie keine sich wiederholenden code.
2) Wenn du den code generiert, über den makro dann bekommen Sie vielleicht so etwas wie dieses. Loszuwerden, die nutzlos code wie
ActiveWindow.ScrollRow = 8968
Oben kann geschrieben werden als
3) Erklären Sie die Objekte so, dass Sie nicht haben, um halten Sie auf, Sie zu wiederholen. Siehe dieses Beispiel
Diese kann geschrieben werden als
4) Brechen Ihre Vorgehensweise, wenn es sein muss. und rufen Sie die 2. Vorgehensweise aus dem 1.
5) Vermeiden Sie die Verwendung
.Select
und.Activate
Sie nicht nur Ihr code langsamer, aber auch viel Platz in Ihrem code, wenn Sie intensiv genutzt. Wie zu verwenden Wählen Sie in der Excel-VBA-Makros+1 Wo bekommen Sie die Zeit, zu schreiben, wie langwierig Antworten?
lol@PradeepKumar
Ich hatte eine Methode mit viel
Round(ThisWorkbook.Worksheets("Sheet5").Range("NamedRange").Value, 5)
. Ich ersetzte Sie alle mit einem einzigeninteger
variable, so dassRound(...)
war nur einmal aufgerufen. Auch dies machte die Methode leichter zu pflegen. Es läuft wahrscheinlich jetzt schneller als gut.InformationsquelleAutor Siddharth Rout
Makros Größe ist beschränkt auf 64 Kb, nach denen man eine Fehlermeldung von Excel.
Ich lief in ein Problem, für das es keine Erklärung oder Fehlermeldung von Excel, wenn Excel nicht in der Lage war zu vollständig berechnen einer Arbeitsmappe für möchten von Ressourcen, wenn ich ein makro geschrieben, dass Anrufe auf mehrere andere Makros.
Ich bin davon ausgegangen, dass die Summe der Länge aller Makros in der Kette berücksichtigt werden müssen.
InformationsquelleAutor Mike Benstead