geht das, dass ich nach einem Click auf eine Zelle ein Ereignis auslöse und ermitteln kann, auf welche Zelle geklickt worden war?
Danke
Christoph
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox ActiveCell.Address
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox Target.Address
End Sub
Um ein Ereignis auszulösen, wenn Du auf eine Zelle in Excel klickst, kannst Du die VBA-Programmiersprache verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
Öffne Excel und drücke ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
Wähle das entsprechende Tabellenblatt im Projektfenster aus, auf das Du das Ereignis anwenden möchtest.
Kopiere den folgenden Code in das Codefenster des Arbeitsblatts:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox "Du hast auf die Zelle " & Target.Address & " geklickt."
End Sub
Speichere Deine Arbeit und schließe den VBA-Editor.
Teste das Skript, indem Du auf eine Zelle in dem gewählten Tabellenblatt klickst. Eine Nachricht wird angezeigt, die die Adresse der Zelle zeigt.
Fehler: Kein Ereignis ausgelöst
Fehler: Fehlermeldung beim Ausführen
Eine weitere Möglichkeit, um Ereignisse auszulösen, ist die Verwendung des Worksheet_BeforeDoubleClick
-Ereignisses. Hier ein Beispiel:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "Doppelklick auf Zelle " & Target.Address
Cancel = True ' Verhindert das Bearbeiten der Zelle
End Sub
Diese Methode ist besonders nützlich, wenn Du eine Aktion anstoßen möchtest, die nicht beim einfachen Klick, sondern beim Doppelklick auf eine Zelle erfolgen soll.
Hier sind einige praktische Beispiele, wie Du die Ereignisse in Excel nutzen kannst:
Zellenwert ändern: Du kannst den Wert einer Zelle ändern, wenn auf eine andere Zelle geklickt wird.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
Target.Offset(0, 1).Value = "Neuer Wert"
End If
End Sub
Daten aus einer anderen Zelle abrufen: Du kannst Daten aus einer bestimmten Zelle anzeigen, wenn auf eine andere Zelle geklickt wird.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$1" Then
MsgBox "Wert in A1: " & Range("A1").Value
End If
End Sub
If
-Bedingungen, um spezifische Aktionen für verschiedene Zellen auszulösen.SelectionChange
-Ereignisse mit benutzerdefinierten Formularen, um eine bessere Benutzeroberfläche zu schaffen.Worksheet_BeforeDoubleClick
, um die Interaktivität in Deinen Excel-Arbeitsblättern zu erhöhen.1. Kann ich mehrere Zellen überwachen?
Ja, Du kannst den Code so anpassen, dass mehrere Zellen überwacht werden, indem Du weitere If
-Bedingungen hinzufügst.
2. Wo kann ich den VBA-Editor finden?
Du kannst den VBA-Editor öffnen, indem Du ALT + F11
drückst, während Excel geöffnet ist.
3. Funktioniert das in jeder Excel-Version?
Ja, die beschriebenen Methoden funktionieren in den meisten modernen Excel-Versionen, einschließlich Excel 2010, 2013, 2016 und 2019.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen