VBA mit / Ende mit Anweisung

In diesem Artikel wird gezeigt, wie Sie With und End With in VBA verwenden

Excel bietet uns die Möglichkeit, VBA durch das Aufzeichnen von Makros zu erlernen. Diese Makros zeichnen buchstäblich alles auf, was wir auf dem Bildschirm tun und konvertieren die Aktionen in VBA-Code. Wir können diesen Code dann analysieren und daraus lernen.

Wenn wir ein Makro in VBA aufzeichnen, insbesondere wenn wir das Format von Zellen ändern, verwendet das Makro meistens die With… End With Syntax in seiner Aufzeichnung. Zu verstehen, was diese bedeuten und wofür sie verwendet werden, ist ein wichtiger Teil von VBA.

Aufzeichnen eines Makros

Um ein Makro in Excel aufzuzeichnen, im Schleife, auswählen Ansicht > Makro > Makro aufzeichnen.

ODER

Entwickler > Makro aufzeichnen

Hinweis: Wenn das Entwicklermenüband nicht angezeigt wird, müssen Sie es aktivieren. Klicken Sie HIER, um zu erfahren, wie das geht.

Geben Sie den Namen für das Makro ein und klicken Sie auf OK.

Markieren Sie einige Zellen und formatieren Sie sie dann für Fett, ändern Sie die Farbe in Rot und ändern Sie die Schriftgröße. Klicken Sie dann in der unteren linken Ecke des Bildschirms auf Stopp, um die Aufnahme des Makros zu beenden.

WITH-Anweisungssyntax

Um Ihr aufgezeichnetes Makro anzuzeigen/zu bearbeiten: Wählen Sie in der Multifunktionsleiste Ansicht > Makros > Makros anzeigen. Wählen Sie das gerade aufgezeichnete Makro aus und klicken Sie dann auf Bearbeiten.

ODER

Wählen Sie in der Multifunktionsleiste Entwickler > Visual Basic um zum VBE-Fenster zu wechseln.

Das aufgezeichnete Makro kann in etwa wie im folgenden Beispiel aussehen

123456789 Unter mit Makro()Bereich("A2:C10").WählenSelection.Font.Bold = TrueAuswahl.Schriftgröße = 12Mit Selection.Font.Farbe = -16776961.TintAndShade = 0Ende mitEnd Sub

Als erstes haben wir den Bereich A2:C10 ausgewählt.

Wir haben dann Fett auf true und die Schriftgröße auf 12 gesetzt. Beachten Sie, dass der Code „Selection.Font“ für diese Zeilen wiederholt wird.

Das Makro hat uns dann aufgezeichnet, wie wir die Farbe des Textes ändern - beachten Sie, dass diesmal die Selection.Font a MIT davor, und die beiden Eigenschaften, die geändert werden (die Farbe und der Farbton) haben einen Punkt (.) davor. Der Codebereich wird dann mit einem vervollständigt ENDE MIT.

Um diesen Code zu vereinfachen, können wir Bold und Size so verschieben, dass sie innerhalb der WITH-Anweisung stehen, und daher das Wort Selection nicht mehr wiederholen müssen.

123456789 Unter mit Makro()Bereich("A2:C10").WählenMit Selection.Font.Fett = Wahr.Größe = 12.Farbe = -16776961.TintAndShade = 0Ende mitEnd Sub

Die Syntax einer WITH… END WITH-Anweisung ist daher sehr einfach:

123 MIT Objekt'Eigenschaften zum Formatieren/ÄndernENDE MIT

Wir hätten den Code auch anders ändern können:

1234567 Sub RemoveWith()Bereich("A2:C10").WählenSelection.Font.Bold = TrueAuswahl.Schriftgröße = 12Auswahl.Font.Color = -16776961Selection.Font.TintAndShade = 0End Sub

Im obigen Beispiel haben wir in jeder Zeile des Codes die Wörter Selection.Font hinzugefügt. Wir haben daher im Code wiederholt auf das Selection.Font-Objekt verwiesen.

Die Verwendung der WITH-Anweisung bedeutet jedoch, dass wir im Code nur einmal auf dieses Objekt verweisen müssen. Es ist eine sauberere Art der Codierung - es sagt VBA, dass es bei WITH beginnen und bei END WITH enden soll - der auszuführende Code ist vollständig in diesen beiden Wörtern eingeschlossen. Dadurch wird das Makro schneller und effizienter ausgeführt (insbesondere bei längeren Makros) und Ihrem Code Struktur hinzugefügt.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave