Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bei Doppelklick Zellinhalt löschen

Forumthread: Bei Doppelklick Zellinhalt löschen

Bei Doppelklick Zellinhalt löschen
21.03.2007 15:39:46
MOch
Hallo Ihr da draußen! :-)
bin am absoluten Ende meiner Excel-/VBA-Kenntnisse angelangt und hoffe, irgendwo da draußen, gibt's jemanden, der noch ein bisschen mehr Ahnung hat, als ich... ;-)
--> Habe per VBA einen Bereich (C4:L5000) definiert. Klickt man nun einmal auf eine der Zellen wird diese Zelle mit einem "X" befüllt (s. Code unten).
--> Nun würde ich ein solches "X" (d.h. den Inhalt der betreffenden Zelle) in diesem Bereich durch Doppelklick auf die entsprechende Zelle gerne wieder löschen und da hapert's dann... :-(

Hier der Code zum Befüllen zur Info:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Set SMenge = Application.Intersect(Range("C4:L5000"), Range(Target.Address))
If SMenge Is Nothing Then Exit Sub
Target.Value = "X"
End Sub

Im Voraus vielen vielen Dank für jeden Tipp - bin für alles dankbar!!!
Grüße,
MOch
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei Doppelklick Zellinhalt löschen
21.03.2007 15:43:58
Rudi
Hallo,

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set SMenge = Application.Intersect(Range("C4:L5000"), Range(Target.Address))
If SMenge Is Nothing Then Exit Sub
Target = ""
Cancel = True
End Sub

Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Anzeige
AW: Bei Doppelklick Zellinhalt löschen
21.03.2007 16:19:00
MOch
...das ging ja fix - danke Rudi!!! :-)
Funktioniert bestens, nur geht jetzt mein ursprünglicher Code nicht mehr...
Darf ich Dein Sub nicht direkt im Code unter meinem einfügen?
Nochmals Danke!
MOch
AW: Bei Doppelklick Zellinhalt löschen
21.03.2007 21:55:00
Uwe
Hi,
also ich habe die beiden Codes bei mir direkt untereinande eingefügt und es klapp:
einmal klicken: X erscheint
doppel klicken: X wird gelöscht.
Müsste bei Dir doch eigentlcih auch klappen ?!!!
Gruß
Uwe
(:o)
Anzeige
AW: Bei Doppelklick Zellinhalt löschen
22.03.2007 00:11:55
MOch
...habs noch mal ganz neu eingefügt. Jetzt klappt's einwandfrei - genial! :-)
Vielen vielen Dank und Sorry wegen der Umstände !!!!
Alles Gute Dir,
MOch
;
Anzeige

Infobox / Tutorial

Zellinhalt bei Doppelklick löschen in Excel


Schritt-für-Schritt-Anleitung

Um den Inhalt einer Zelle durch einen Doppelklick zu löschen, kannst du folgende VBA-Codes verwenden. Diese Anleitung geht davon aus, dass du Excel 2010 oder höher verwendest.

  1. Öffne deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle das entsprechende Arbeitsblatt aus, auf dem du die Funktion implementieren möchtest.

  3. Füge den folgenden Code in das Arbeitsblatt-Modul ein, um beim Klicken ein "X" zu setzen:

    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
        Set SMenge = Application.Intersect(Range("C4:L5000"), Range(Target.Address))
        If SMenge Is Nothing Then Exit Sub
        Target.Value = "X"
    End Sub
  4. Füge nun den folgenden Code ein, um beim Doppelklick den Zellinhalt zu löschen:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        Set SMenge = Application.Intersect(Range("C4:L5000"), Range(Target.Address))
        If SMenge Is Nothing Then Exit Sub
        Target = ""
        Cancel = True
    End Sub
  5. Schließe den VBA-Editor und teste die Funktion in deinem Arbeitsblatt.


Häufige Fehler und Lösungen

  • Fehler: Das "X" wird nicht gesetzt oder gelöscht.
    Lösung: Überprüfe, ob du die Codes im richtigen Arbeitsblatt-Modul eingefügt hast.

  • Fehler: Doppelklick funktioniert nicht.
    Lösung: Stelle sicher, dass die Cancel = True Zeile im Doppelklick-Code vorhanden ist, um die Standard-Doppelklick-Aktion zu verhindern.


Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch die Tastenkombination Entf verwenden, um Zellen zu leeren. Diese Methode ist allerdings weniger flexibel, da sie keine Doppelklick-Funktionalität bietet.

Eine weitere Möglichkeit besteht darin, Datenüberprüfung zu verwenden, um sicherzustellen, dass nur gültige Werte eingegeben werden. Dies ist jedoch nicht direkt mit dem Löschen des Zellinhalts durch Doppelklick verbunden.


Praktische Beispiele

Angenommen, du hast eine Excel-Tabelle, in der du bestimmte Zellen als "X" markieren möchtest. Du klickst einmal auf eine Zelle in dem Bereich C4:L5000, um "X" zu setzen. Um das "X" wieder zu entfernen, führst du einfach einen Doppelklick auf die Zelle aus.

Ein Beispielcode für das Setzen von "X" könnte so aussehen:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
    If Not Intersect(Target, Range("C4:L5000")) Is Nothing Then
        Target.Value = "X"
    End If
End Sub

Tipps für Profis

  • Code optimieren: Du kannst den Code so anpassen, dass verschiedene Werte gesetzt oder gelöscht werden, je nach Anforderungen.
  • Fehlerbehandlung: Implementiere Fehlerbehandlung, um unerwartete Probleme abzufangen, besonders wenn du mit größeren Bereichen arbeitest.
  • Verwendung von Named Ranges: Dies kann den Code lesbarer machen und die Wartung vereinfachen.

FAQ: Häufige Fragen

1. Frage
Kann ich die Bereiche für das Setzen und Löschen des Inhalts unterschiedlich gestalten?
Antwort: Ja, du kannst die Bereiche im Code anpassen, indem du die Adressierung in den Range-Funktionen änderst.

2. Frage
Was passiert, wenn ich den Code in mehreren Arbeitsblättern einfüge?
Antwort: Die Funktionalität wird in jedem Arbeitsblatt unabhängig funktionieren, solange der Code korrekt in das jeweilige Arbeitsblatt-Modul eingefügt wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige