Zum Hauptinhalt springen

Behandeln von VBA-Excel-Tabellenereignissen

Microsoft Excel ist ein leistungsfähiges Werkzeug für die Arbeit mit Tabellen und Daten. Es gibt jedoch häufig Situationen, in denen Sie bestimmte Vorgänge automatisieren oder der Tabelle zusätzliche Funktionen hinzufügen müssen. Dazu können Sie die Programmiersprache VBA (Visual Basic for Applications) verwenden, die in Excel integriert ist.

Excel-Tabellenereignisse

VBA bietet die Möglichkeit, verschiedene Ereignisse zu behandeln, die mit einer Tabelle auftreten.

  • Worksheet_Change: Dieses Ereignis wird jedes Mal ausgelöst, wenn eine Änderung in einer Zelle oder einem Zellbereich in einer Tabelle auftritt. Dies kann beispielsweise verwendet werden, um Daten automatisch zu aktualisieren oder bestimmte Aktionen auszuführen, wenn sich eine bestimmte Zelle ändert.
  • Worksheet_SelectionChange: wird ausgelöst, wenn der Benutzer die Zellenauswahl in einer Tabelle ändert. Dies kann verwendet werden, um zusätzliche Informationen zu ausgewählten Zellen anzuzeigen oder um bestimmte Aktionen auszuführen, wenn der Benutzer bestimmte Zellen auswählt.
  • Worksheet_Activate: Dieses Ereignis tritt auf, wenn ein Benutzer eine bestimmte Tabelle aktiviert. Dies kann beispielsweise nützlich sein, um bestimmte Daten automatisch zu laden oder andere Aktionen auszuführen, die sich auf eine Tabelle beziehen, wenn sie aktiviert wird.

Beispiel für die Behandlung des Change-Ereignisses

Betrachten Sie ein Beispiel für die Ereignisbehandlung Worksheet_Change. Lassen Sie uns eine Tabelle haben, in der der Benutzer die Kosten- und Mengenangaben der Produkte eingeben muss. Wir möchten die Gesamtkosten in der dritten Spalte automatisch als Produkt von Preis und Menge berechnen.




Private Sub Worksheet_Change(ByVal Target As Range)


Dim rng As Range


Set rng = Range("A2:C10") ' Tabellenbereich


If Not Intersect(Target, rng) Is Nothing Then


Application.EnableEvents = False


' schleife durch alle Zeilen


For Each cell In rng.Rows


' berechnung der Gesamtkosten


cell.Cells(1, 3).Value = cell.Cells(1, 1).Value * cell.Cells(1, 2).Value


Next cell


Application.EnableEvents = True


End If


End Sub

In diesem Beispiel, wenn der Benutzer die Werte im Zellenbereich A2 ändert:C10, Veranstaltung Worksheet_Change auslösen. Anschließend wird geprüft, ob sich der geänderte Bereich mit dem Tabellenbereich überschneidet. Wenn es einen Schnittpunkt gibt, werden die Gesamtkosten für jede Zeile in der Schleife berechnet und in die dritte Spalte geschrieben.

Schlußfolgerung

Durch die Verwendung von VBA zur Behandlung von Excel-Tabellenereignissen können Sie Tabellen Automatisierung und zusätzliche Funktionalität hinzufügen. Die Fähigkeit, Ereignisse zu verarbeiten, kann die Arbeit mit Daten erheblich vereinfachen und die Arbeitseffizienz verbessern.

Beispiele für die Behandlung von Ereignissen in einer VBA-Excel-Tabelle

1. Change-Ereignis

Das Change-Ereignis wird ausgelöst, wenn der Benutzer Daten in Tabellenzellen eingibt oder ändert. Dadurch können Sie automatisch bestimmte Aktionen ausführen, wenn Daten geändert werden.

Sie können beispielsweise ein Makro erstellen, das die vom Benutzer eingegebenen Werte überprüft und eine Fehlermeldung anzeigt, wenn der Wert außerhalb des gültigen Bereichs liegt.

2. BeforeDoubleClick-Ereignis

Das BeforeDoubleClick-Ereignis wird ausgelöst, wenn der Benutzer auf eine Tabellenzelle doppelklicken. Dadurch können Sie automatisch bestimmte Aktionen ausführen, wenn Sie auf eine Zelle doppelklicken.

Sie können beispielsweise ein Makro erstellen, das bestimmte Aktionen ausführt, wenn Sie auf eine Zelle doppelklicken, z. B. ein zusätzliches Formular öffnen, um den Inhalt der Zelle zu bearbeiten.

3. BeforeRightClick-Ereignis

Das BeforeRightClick-Ereignis wird ausgelöst, wenn der Benutzer mit der rechten Maustaste auf eine Tabellenzelle klickt. Dadurch können Sie bestimmte Aktionen automatisch ausführen, wenn Sie mit der rechten Maustaste auf eine Zelle klicken.

Sie können beispielsweise ein Makro erstellen, das ein Kontextmenü mit bestimmten Befehlen anzeigt, wenn Sie mit der rechten Maustaste auf eine Zelle klicken.

4. SelectionChange-Ereignis

Das SelectionChange-Ereignis wird ausgelöst, wenn der Benutzer eine Auswahl in einer Tabelle ändert (eine andere Zelle oder einen anderen Zellbereich auswählt). Dadurch können Sie automatisch bestimmte Aktionen ausführen, wenn sich die Auswahl ändert.

Sie können beispielsweise ein Makro erstellen, das bestimmte Aktionen ausführt, wenn Sie einen ausgewählten Zellenbereich ändern, z. B. den ausgewählten Bereich hervorheben oder Informationen zu ausgewählten Zellen anzeigen.

All diese Ereignisse ermöglichen es, die Funktionalität einer Excel-Tabelle erheblich zu verbessern und die Arbeit damit bequemer und effizienter zu gestalten.