wie erreiche ich es, dass bei jedem Klick auf eine Zelle der Zellwert um 1 erhöht wird, auch wenn die Zelle schon aktiviert ist?
Gruß Hajo
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target = [A1] Then [A1] = [A1] + 1
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target = [A1] Then [A1] = [A1] + 1
Cancel = True
End Sub
Problemstellung
Zelleinträge sollen in Kommentare eingefügt werden.
Um den Zellwert bei jedem Klick in eine Zelle um 1 zu erhöhen, musst du ein einfaches VBA-Makro verwenden. Hier sind die Schritte:
Öffne Excel und die Datei, in der du die Funktion implementieren möchtest.
Drücke ALT
+ F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
Doppelklicke auf das Arbeitsblatt, in dem du die Funktion verwenden möchtest (z. B. „Tabelle1“).
Füge folgenden Code ein:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then
Target.Value = Target.Value + 1
Cancel = True
End If
End Sub
Schließe den VBA-Editor und gehe zurück zu Excel.
Jetzt kannst du auf die Zelle A1 doppelklicken, um den Wert um 1 zu erhöhen.
Fehler: Der Wert erhöht sich nicht.
Fehler: Zelle bleibt im Editiermodus.
Cancel = True
hinzu, um den Editiermodus zu verhindern, wie im obigen Beispiel gezeigt.Wenn du den Zellwert bei einem einfachen Klick statt einem Doppelklick ändern möchtest, kannst du die Worksheet_SelectionChange
-Ereignisprozedur verwenden. Hier ein Beispiel:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
Target.Value = Target.Value + 1
End If
End Sub
Beachte, dass diese Methode den Wert erhöht, sobald du die Zelle auswählst, was möglicherweise nicht die gewünschte Funktionalität ist.
Angenommen, du möchtest den Wert in Zelle B2 bei jedem Doppelklick erhöhen. Du kannst den Code entsprechend anpassen:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$B$2" Then
Target.Value = Target.Value + 1
Cancel = True
End If
End Sub
Jetzt wird bei jedem Doppelklick auf B2 der Wert um 1 erhöht.
Option Explicit
: Dies hilft dir, Fehler durch nicht definierte Variablen zu vermeiden.1. Kann ich den Code für mehrere Zellen verwenden?
Ja, du kannst mehrere If
-Bedingungen für verschiedene Zellen hinzufügen.
2. Funktioniert das in allen Excel-Versionen? Ja, dieser VBA-Code sollte in den meisten neueren Excel-Versionen (Excel 2010 und höher) problemlos funktionieren. Achte darauf, dass Makros in deiner Excel-Anwendung aktiviert sind.
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