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

Forumthread: If Target.Column mit mehr als einer Spalte

If Target.Column mit mehr als einer Spalte
03.02.2016 16:21:06
Tanja
Hi,
ich möchte gerne ein einfaches Doppelklick-Event anwenden.
Bisher habe ich folgenden Code, der bei einer Spalte auch gut funktioniert.
Kann mir jemand sagen, wie ich das auf mehrere Spalten anpassen kann, z.B. Spalte A bis E ?

Mein Code:

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then ' column A
Cancel = True
Select Case Target.Value
Case "X": Target.ClearContents
Case Else: Target.Value = "X"
End Select
End If
End Sub
Vielen Dank für Eure Hilfe.
LG,
Tanja

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If Target.Column mit mehr als einer Spalte
03.02.2016 16:25:21
ChrisL
Hi Tanja
Mit grösser/kleiner usw.
If Target.Column <= 5 Then
cu
Chris

AW: If Target.Column mit mehr als einer Spalte
03.02.2016 16:40:09
Tanja
Super, das klappt bestens - vielen Dank für die schnelle Hilfe, Chris ! :)
LG,
Tanja
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Doppelklick-Event für mehrere Spalten in Excel VBA


Schritt-für-Schritt-Anleitung

Um ein Doppelklick-Event in Excel VBA für mehrere Spalten zu erstellen, kannst du den folgenden Code verwenden. Mit dieser Anpassung wird das Event auf die Spalten A bis E angewendet:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column <= 5 Then ' Spalten A bis E
        Cancel = True
        Select Case Target.Value
            Case "X": Target.ClearContents
            Case Else: Target.Value = "X"
        End Select
    End If
End Sub
  1. Öffne das Excel-Dokument, in dem du das Doppelklick-Event implementieren möchtest.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Suche im Projektfenster nach dem entsprechenden Arbeitsblatt und doppelklicke darauf.
  4. Füge den obigen Code in das Codefenster ein.
  5. Schließe den VBA-Editor und teste das Doppelklick-Event in deinem Arbeitsblatt.

Häufige Fehler und Lösungen

  • Fehler: Das Doppelklick-Event funktioniert nicht.

    • Lösung: Stelle sicher, dass der VBA-Code im richtigen Arbeitsblatt eingefügt wurde. Der Code muss im Modul des Arbeitsblattes sein, in dem du das Event verwenden möchtest.
  • Fehler: Der Wert "X" wird nicht gesetzt oder gelöscht.

    • Lösung: Überprüfe, ob die Spalten A bis E tatsächlich die Werte enthalten, die du erwartest. Achte darauf, dass du das Doppelklick-Event in diesen Spalten testest.

Alternative Methoden

Falls du eine andere Logik benötigst, könntest du auch eine If...ElseIf-Anweisung verwenden, um spezifische Aktionen für verschiedene Spalten zu definieren:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 1 Then ' Spalte A
        ' Aktion für Spalte A
    ElseIf Target.Column = 2 Then ' Spalte B
        ' Aktion für Spalte B
    ' Füge weitere ElseIf für andere Spalten hinzu
    End If
End Sub

Praktische Beispiele

Ein praktisches Beispiel wäre, wenn du in Spalte A einen Wert "X" setzen möchtest, in Spalte B jedoch einen anderen Wert, z.B. "Y". Hier ein Beispielcode:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 1 Then ' Spalte A
        Target.Value = "X"
    ElseIf Target.Column = 2 Then ' Spalte B
        Target.Value = "Y"
    End If
End Sub

Tipps für Profis

  • Debugging: Nutze Debug.Print im Code, um die Werte von Target.Column während des Tests zu überprüfen. Dies kann dir helfen, Fehler schneller zu finden.

  • Leistung: Vermeide das Reset von Events während der Ausführung, um die Leistung zu optimieren. Dies kannst du erreichen, indem du Application.EnableEvents = False und Application.EnableEvents = True entscheidest.


FAQ: Häufige Fragen

1. Kann ich das Doppelklick-Event auch für andere Arten von Interaktionen nutzen?
Ja, du kannst das gleiche Prinzip für andere Ereignisse wie Worksheet_Change oder Worksheet_SelectionChange anwenden.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der vorgestellte Code sollte in den meisten modernen Excel-Versionen (ab Excel 2010) funktionieren, solange du den VBA-Editor richtig verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige