Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1812to1816
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

BeforeDoubleClick

BeforeDoubleClick
23.02.2021 16:32:47
Hannis
Hallo zusammen,
ich habe mir folgendes Makro gebastelt.
Wenn ich in der ersten Spalte eine beliebig Zelle doppelt klicke soll diese den String ändern.
Das klappt auch gut nur würde ich es gut finden, wenn der Cursor nicht in die Zelle springen würde.
Gibt es einen Befehl der dies verhindert?
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Gruß Hannis
Select Case Target.Column
Case 1
If ActiveCell.Value = "offen" Then
ActiveCell.Value = "do"
Exit Sub
End If
If ActiveCell.Value = "ongoing" Then
ActiveCell.Value = "done"
Exit Sub
End If
If ActiveCell.Value = "do" Then
ActiveCell.Value = "ongoing"
Exit Sub
End If
End Select
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: BeforeDoubleClick
23.02.2021 16:34:21
Hajo_Zi
cancel=true fehlt

AW: BeforeDoubleClick
23.02.2021 16:39:14
Hannis
super läuft...
Danke
Gruß Hannis
AW: BeforeDoubleClick
23.02.2021 16:55:46
Daniel
Hi
blöde Frage, wenn du Select Case, kennst, warum schreibst du den Code dann nicht so:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Select Case Target.Column
Case 1
Cancel = True
Select case ActiveCell.Value
case "offen"
ActiveCell.Value = "do"
case "ongoing"
ActiveCell.Value = "done"
case "do"
ActiveCell.Value = "ongoing"
Case Else
end Select
End Select
End Sub
ist doch einfacher als diese seperaten IFs.
Gruß Daniel
Anzeige
AW: BeforeDoubleClick
23.02.2021 23:07:59
Werner
Hallo,
und noch ne Version:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Select Case Target.Column
Case 1
Cancel = True
Target = IIf(Target = "offen", "do", Target)
Target = IIf(Target = "ongoing", "done", Target)
Target = IIf(Target = "do", "ongoing", Target)
Case Else
End Select
End Sub
Gruß Werner
AW: BeforeDoubleClick
23.02.2021 23:36:00
Daniel
Noch ne Variante:
If Taget.Column = 1 then
on Error resume next
Target.Value = Array("", "do", "done" "ongoing")(Worksheerfunction.Match(Target, Array(" _
offen", "ongoing", "do"), 0))
On Error goto 0
Cancel = True
Ende if
Gruß Daniel
Anzeige

48 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige