Home HomeXLimits - Hauptseite


Limitationen von UserForms und Controls

Inhaltsübersicht

Allgemeines über Limitationen von UserForms und Controls

Übersicht der Limitationen von UserForms und Controls

Benutzerformular-Limitationen

Steuerelement-Limitationen

Limitation "Maximale Anzahl Steuerelemente auf einem Visual Basic-Formular"

Limitation "Maximale Anzahl Steuerelemente auf einem Visual Basic für Applikationen-Benutzerformular"

Limitationen von VB-Steuerelementen

Limitationen von VBA-Steuerelementen

Limitationen der Textbox und des Textfeldes in Microsoft Excel


Allgemeines über Limitationen von UserForms und Controls

Auf dieser Seite werden die wichtigsten Limitationen und Spezifikationen von Benutzerformularen (UserForms) und Steuerelementen (Controls) in Visual Basic- und Visual Basic für Applikationen-Projekten (VBA-Projekten) vorgestellt.

Bitte beachten Sie, dass sich die Spezifikationen für VB und VBA praktisch in allen Merkmalen unterscheiden. Insgesamt betrachtet sind die Steuerelemente von VBA-Benutzerformularen um einiges leistungsfähiger als die Visual Basic-Steuerelemente. Zum Beispiel kann eine VB-Textbox "nur" etwa 64 KB Text aufnehmen (ca. 65'536 Zeichen). Der Inhalt einer Textbox auf einem VBA-Benutzerformular dagegen kann ohne weiteres über 1'000'000 Zeichen (1 Million!) lang sein, was ungefähr dem Fünfzehnfachen einer VB-Textbox entspricht.

 

Hier finden Sie weitere verwandte Limitationen:

Weitere Informationen

Alle Limitationen in Excel-VBA und im Excel-Objektmodell finden Sie hier:
Limitationen in Excel-VBA und -Objektmodell

Alle Limitationen im VBA-Editor von Microsoft Excel finden Sie hier:
Limitationen im VBA-Editor (VBE)

Alle Limitationen in VBA und VB werden hier vorgestellt:
Limitationen in VBA und VB

Die Limitationen in der Visual Basic Entwicklungsumgebung und VB-Projekten finden Sie hier:
Limitationen in der VB IDE und VB-Projekten

Beachten Sie auch die Informationen auf dieser Seite:

Weitere Informationen

Unerforschte Limitationen in Microsoft Excel

To Top

 


Übersicht der Limitationen von UserForms und Controls

Benutzerformular-Limitationen (UserForms)

Die maximale Anzahl Benutzerformulare in einem VBA-Projekt ist noch nicht vollständig bekannt. In mehreren Tests konnten problemlos 150 UserForms einem VBA-Projekt hinzugefügt werden. Vermutlich gibt es keine fixe Grenze. Das würde somit bedeuten, dass die maximale Anzahl nur von den verfügbaren Systemressourcen abhängig ist.

Das Öffnen einer Arbeitsmappe mit 150 Benutzerformularen dauert nur kurz (ca. 2 Sekunden). Das Speichern der Mappe hingegen dauert sehr lange (ca. 1 Minute).

To Top

 


Steuerelement-Limitationen (Controls)

In Visual Basic benutzen alle nicht-grafischen Steuerelemente (d.h. alle Steuerelemente ausser Shape, Line, Image und Label) ein so genanntes Fenster (Window). Jedes Fenster benötigt Systemressourcen, die ihrerseits die Limitation der maximalen Anzahl gleichzeitig existierender Fenster bestimmt. Die exakte Grenze ist abhängig von den verfügbaren Systemressourcen und dem jeweiligen Typ des verwendeten Controls.

Weitere Informationen über Systemressourcen erhalten Sie hier:

Weitere Informationen

Excel und Systemressourcen

To Top

 


Maximale Anzahl Steuerelemente auf einem VB-Formular

Die folgenden Limitationen gelten für Formulare (Forms) in VB-Projekten (VB 4.0 32-bit, VB 5.0 und VB 6.0).

Anzahl Steuerelemente
Die exakte maximale Anzahl Steuerelemente auf einem Visual Basic-Formular ist vom jeweiligen Typ der verwendeten Steuerelemente abhängig. Es gibt jedoch es eine feste Limitation von maximal 254 Steuerelement-Namen pro Formular. Wenn jedes Steuerelement einen eindeutigen Namen besitzt, können somit bis zu 254 Steuerelemente auf einem Formular angeordnet werden. Beim Hinzufügen des 255. Steuerelementes zeigt Visual Basic die nachfolgend abgebildete Warnmeldung:

VB-Warnmeldung "Reached limit: cannot create any more controls for this form"
Abbildung: Warnmeldung "Reached limit: cannot create any more controls for this form"

Anmerkung des Autors:
Die obige Meldung erscheint immer exakt beim 255-sten Steuerelement.

Beachten Sie bitte, dass auch Menüelemente als Steuerelemente gezählt werden. Beispielsweise benötigt ein Menü "Datei" mit den vier Menübefehlen "Öffnen", "Speichern", "Schliessen" und "Beenden" insgesamt 5 Control-Namen. Auf dem Formular könnten somit nur noch 249 Steuerelemente angeordnet werden (254 - 5 = 249).

 

VB-Warnmeldung "Menu control array element must have an index"
Abbildung: Warnmeldung "Menu control array element must have an index"

 

Begin VB.Menu mnuTools
  Caption = "&Tools"
  Begin VB.Menu mnuToolItems
    Caption = "Tool 1"
    Index = 1
  End
  Begin VB.Menu mnuToolItems
    Caption = "Tool 2"
    Index = 2
  End
  Begin VB.Menu mnuToolItems
    Caption = "Tool 3"
    Index = 3
  End
End

Die so genannte WindowList ist von dieser Limitation nicht betroffen.

WindowList/Fensterliste
Abbildung: WindowList/Fensterliste

 

Wenn man auf Basis eines Steuerelementes ein Control Array (Steuerelemente-Feld) erstellt, so können mehr als 254 Steuerelemente auf einem Formular verwendet werden. Beim Kopieren und Einfügen eines Steuerelementes blendet Visual Basic die Rückfragemeldung "You already have a control named '<controlname>'. Do you want to create a control array?" ein. In einem Control Array besitzt jedes Steuerelement einen eindeutigen Index, über den es angesprochen wird. Da alle Steuerelemente eines Control Arrays den gleichen Namen besitzen, benötigt VB nur einen einzigen Control-Namen. Somit sind weit mehr als 254 Steuerelemente möglich. Theoretisch kann man 254 Control-Arrays à 32'768 Controls erstellen (siehe auch weiter unten). Das würde eine unvorstellbare Anzahl von 8'323'072 Steuerelementen auf einem Formular ergeben.

Anzahl verschachtelte Steuerelemente
Wenn Sie Steuerelemente ineinander verschachteln, beispielsweise ein Rahmen-Steuerelement (Frame) in ein anderes Rahmen-Steuerelement einfügen, so können Sie bis zu 25 Verschachtelungsebenen verwenden. Visual Basic akzeptiert nicht mehr als 25 Ebenen.

Anzahl Steuerelemente in einem Steuerelement-Array
Die Grenze von Steuerelement-Arrays liegt bei maximal 32'768 Elementen (Index 0 bis 32'767) für alle Visual Basic-Versionen (siehe auch weiter oben).

To Top

 


Maximale Anzahl Steuerelemente auf einem VBA-Benutzerformular

Die folgenden Limitationen gelten für Benutzerformulare (UserForms) in VBA-Projekten (VBA ab Version 5.0, d.h. ab Microsoft Office 97).

Anzahl Steuerelemente
Die maximale Anzahl Steuerelemente auf einem Visual Basic für Applikationen-Benutzerformular ist nicht durch eine fixe Grenze bestimmt. In einem Test konnte ein Benutzerformular mit 600 Steuerelementen erstellt werden.

Beachten Sie unbedingt, dass, obwohl praktisch unbegrenzt viele Steuerelemente auf einem Benutzerformular angeordnet werden können, nur die ersten 411 Steuerelemente, die hinzugefügt wurden, mit VBA-Code direkt angesprochen werden können. Wird im Code ein Steuerelement direkt referenziert, welches nach dem 411. Steuerelement hinzugefügt wurde, so stürzt Microsoft Excel sofort ab. Nebst Excel sind auch Word und PowerPoint verschiedener Office-Versionen betroffen.

Ausführliche Informationen über dieses Problem sowie mehrere Umgehungslösungen erhalten Sie unter Limitationen im VBA-Editor: Maximale Anzahl Steuerelemente.

Anzahl verschachtelte Steuerelemente
Wenn Sie Steuerelemente ineinander verschachteln, beispielsweise ein Rahmen-Steuerelement (Frame) in ein anderes Rahmen-Steuerelement einfügen, so können Sie im Gegensatz zu Visual Basic auch mehr als 25 Verschachtelungsebenen verwenden. Ob es eine fixe Grenze gibt, ist zur Zeit noch unklar. In einem Test konnten problemlos 35 ineinander verschachtelte Rahmen-Steuerelemente erstellt werden.

Anzahl Steuerelemente in einem Steuerelement-Array
VBA-Benutzerformulare können grundsätzlich keine Steuerelement-Arrays enthalten. Demzufolge gibt es keine Limitation in Form einer maximalen Anzahl.

To Top

 


Limitationen von VB-Steuerelementen

Die folgende Tabelle zeigt die wichtigsten Spezifikationen von Visual Basic-Controls.

Eigenschaft Steuerelement Spezifikation
List und ListCount ListBox- und ComboBox-Control Maximum number of items is 32K; the limit on the size of each item is 1K (1'024 bytes)
Text TextBox-Control Limited to 64K
Caption Label-Control Limited to 1'024 bytes
Caption CommandButton-, CheckBox-, Frame- und OptionButton-Control Limited to 255 characters

Any caption over these limits is truncated. Captions on custom control properties are limited to 32K.

Caption Menu-Control Limited to 235 characters
Tag Alle Controls Limited only by available memory
Name Alle Controls Limited to 40 characters

Hinweis
In Visual Basic sind die Namen von Steuerelement-Eigenschaften auf 30 Zeichen limitiert.

To Top

 


Limitationen von VBA-Steuerelementen

Diese Tabelle enthält die wichtigsten Spezifikationen von Visual Basic für Applikationen-Steuerelemente (MS Forms-Controls). Die Angaben beziehen sich auf Steuerelemente von Benutzerformularen. Sie gelten nicht für Steuerelemente, die in einem Dokument wie beispielsweise einem Excel-Arbeitsblatt oder Word-Dokument eingebettet werden können.

Steuerelement Merkmal / Limitation Spezifikation
TextBox Maximale Länge des Textes in einem Textfeld (Text-Eigenschaft) Mindestens 1'000'000 Zeichen (siehe auch hier)
Label Maximale Länge der Beschriftung eines Bezeichnungsfeldes (Caption-Eigenschaft) Mindestens 300'000 Zeichen
CommandButton Maximale Länge der Beschriftung einer Befehlsschaltfläche (Caption-Eigenschaft) Mindestens 300'000 Zeichen
CheckBox Maximale Länge der Beschriftung eines Kontrollkästchens (Caption-Eigenschaft) Unbekannt
Frame Maximale Länge der Beschriftung eines Rahmens (Caption-Eigenschaft) Unbekannt
OptionButton Maximale Länge der Beschriftung eines Optionsfeldes (Caption-Eigenschaft) Unbekannt
MultiPage Maximale Anzahl Seiten eines Multiseiten-Steuerelementes (Pages) Mindestens 100 Seiten
ListBox Maximale Anzahl Elemente in einem Listenfeld (ListCount) Unbekannt
ListBox Maximale Länge eines Elementes in einem Listenfeld (List) Unbekannt
ComboBox Maximale Anzahl Elemente in einem Kombinationsfeld (ListCount) Unbekannt
ComboBox Maximale Länge eines Elementes in einem Kombinationsfeld (List) Unbekannt
Menu Maximale Länge der Beschriftung eines Menü-Elementes (Caption-Eigenschaft) 255 Zeichen
Menu Maximale Länge der Zusatzinformationen eines Menü-Elementes (Tag-Eigenschaft) 255 Zeichen
Alle Controls Maximale Länge des Namens eines Steuerelementes (Name-Eigenschaft) 128 Zeichen
Alle Controls Maximale Länge der QuickInfo eines Steuerelementes (ControlTipText-Eigenschaft) Mindestens 630'000 Zeichen (siehe auch hier)
Alle Controls Maximale Länge der Zusatzinformationen eines Steuerelementes (Tag-Eigenschaft) Mindestens 300'000 Zeichen (siehe auch hier)

To Top

 


Limitationen der Textbox und des Textfeldes in Microsoft Excel

Textfeld (Symbolleiste "Zeichnen")

» Das Textfeld in Microsoft Excel kann maximal 32'767 Zeichen aufnehmen.

Ausschnitt der Zeichnen-Symbolleiste (vergrössert)
Abbildung: Textfeld-Schaltfläche auf der Zeichnen-Symbolleiste (Ausschnitt vergrössert)

Mehr über diese Limitation "Maximale Länge des Textes in einem Textfeld" erfahren Sie hier:

Weitere Informationen

Limitationen in Microsoft Excel: Limitation-ID 186

 

Textfeld (Symbolleiste "Steuerelement-Toolbox")

» Das in ein Arbeitsblatt eingebettete Textfeld-Steuerelement kann mindestens 340'000 Zeichen aufnehmen.

 

Textbox (Werkzeugsammlung des VBA-Editors)

» Das auf einem Benutzerformular angeordnete Textbox-Steuerelement kann mindestens 1'000'000 Zeichen aufnehmen.

 

Textfeld (Steuerelement-Typ msoControlEdit)

» Das Textfeld auf einer Symbolleiste kann maximal 255 Zeichen aufnehmen.

To Top


Haben Sie Fragen, Anregungen oder einen Fehler entdeckt?
Kontakt zum Autor

Zuletzt aktualisiert am 4.05.2006 / 17:00 Uhr
Zuletzt kontrolliert am 22.12.2008 / 07:00 Uhr
© 2002-2009 by Philipp von Wartburg, Schweiz
Alle Rechte vorbehalten