Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Per Doppelclick Befehl ausführen

Forumthread: Per Doppelclick Befehl ausführen

Per Doppelclick Befehl ausführen
Kuhlmey
Hallo, habe folgendes Problem:
1. Per Doppelclick in Zellen der Spalte C soll in die benachbarte Zelle der Spalte D ein X geschrieben werden. Das klappt per VBA auch. Ein erneuter Doppelclick in C soll das X in D aber wieder löschen. Tut es bei mir aber nicht!?
2. Spalte C-D habe ich in dem Arbeitsblatt 6 mal. Ich möchte, dass immer nur in den Spalten C, H, M, R, W, AB, der Befehl des Doppelclick ausgeführt wird. Im Moment erstreckt sich der Befehl auf den gesamten Bereich C - AB
Hier mein VBA:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, _
Range("c2:ab45")) Is Nothing Then
If ActiveCell(0, 2)  "X" Then
ActiveCell.Offset(0, 2) = "X"
End If
Else
ActiveCell.Offset(0, 2) = ""
End If
Range("A20").Select
End Sub

Freue mich über eure Hilfe
Gruss Mario
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Per Doppelclick Befehl ausführen
10.03.2010 18:01:00
Ramses
Hallo
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Select Case Target.Column
        Case 3, 8, 13, 18, 23, 28
            If UCase(Target.Offset(0, 1)) = "X" Then
                Target.Offset(0, 1).Clear
            Else
                Target.Offset(0, 1) = "X"
            End If
    End Select
    Cancel = True
End Sub

Gruss Rainer
Anzeige
AW: Per Doppelclick Befehl ausführen
10.03.2010 18:10:42
Kuhlmey
Vielen Dank Ramses,
klappt schon ganz gut. Jetzt löscht der Doppelclick zum X aber auch die Formatierung der Zelle.
Ersetze Clear durch ClearContents! oT
10.03.2010 18:17:34
Backowe
müsste so funktionieren...
10.03.2010 18:04:47
Tino
Hallo,
kommt als Code ind die Tabelle
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect( _
        Union(Columns(3), Columns(8), Columns(13), Columns(18), Columns(23), Columns(28)) _
        , Target) Is Nothing Then
    
    Cancel = True
    Target.Offset(0, 1) = IIf(LCase(Target.Offset(0, 1)) <> "x", "X", "")
End If
End Sub
Gruß Tino
Anzeige
AW: müsste so funktionieren...
10.03.2010 18:16:24
Kuhlmey
Vielen Dank Tino,
so klappt es ausgezeichnet
Gruss Mario
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige