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

Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal

Forumthread: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal

Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
24.10.2024 16:55:41
STeve
Hi liebe Helferlein.

Bräuchte eure Hilfe. In einer Tabelle habe ich dieses Event eingebaut:

Worksheet - BeforDoubleclick

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Cancel = True
Call mach24erbeidoppellklickeintragen

End Sub



(Allgemein) - mach24erbeidoppellklickeintragen

Sub mach24erbeidoppellklickeintragen()

With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With

msgbox "geht"


With ActiveCell
.FormulaR1C1 = "06:30" ' Setzt die aktive Zelle auf 06:30
End With


With Application
.Calculation = xlCalculationAutomatic
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub





Der Code läuft nur einmal nach öffnen der Datei ab.
Danach nicht mehr????

Es muss mit:

With ActiveCell
.FormulaR1C1 = "06:30" ' Setzt die aktive Zelle auf 06:30
End With

zusammen hängen??????


Habt ihr eine Idee!!!

Danke
Anzeige

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
24.10.2024 17:09:23
Yal
Hallo STeve,

wenn Du alles wegwirfst, was nicht nötig ist, sieht das Gesamt wesentlich schlanker aus.

Ich gehe davon aus das irgendeine unbehandelte Fehler passiert. Dann wird der Application.EnableEvents = True nicht mehr durchgeführt. Also die Events nicht mehr reaktiviert.
Du kannst (eventuell, weil nur vermutet) das Problem mit "on error resume next" umgehen. Dann wird auf alle Fälle die nächste Anweisung gemacht.

'in Codepane vom Arbeitsblatt

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
mach24erbeidoppellklickeintragen
End Sub

'im Allgemeinen Modul
Sub mach24erbeidoppellklickeintragen()
On Error Resume Next
Application.EnableEvents = False
ActiveCell.FormulaR1C1 = "06:30" ' Setzt die aktive Zelle auf 06:30
Application.EnableEvents = True
End Sub


VG
Yal
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
24.10.2024 17:23:22
Onur
Wozu all der Aufwand mit Events und ScreenUpdating abschalten und die zweite Sub?
Alles völlig überflüssig.
DAS reicht völlig:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Cancel = True
Target.FormulaR1C1 = "06:30" ' Setzt die aktive Zelle auf 06:30
End Sub
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
24.10.2024 17:34:05
STeve
Hi Onur...............danke für deine Hilfe..........hast mir ja schon oft geholfen.

Diesmal geht das leider nicht???
Mit der Msbox läuft es aber????????????



Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
'''Target.FormulaR1C1 = "06:30" ' Setzt die aktive Zelle auf 06:30

msgbox "Läuft"

End Sub

Was habe da verbaut in der Datei---------weil bei einer anderen Datei läuft es ???

mfg
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
24.10.2024 17:41:43
Onur
Was genau soll das denn heissen:
"Diesmal geht das leider nicht??? Mit der Msbox läuft es aber???????????? "
WAS passiert denn?
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 06:53:34
STeve
Gu Mo Onur.

Das heißt wenn ich den Code nur mit dem Aufruf der Msgbox starte läuft er jedesmal!!!!! er zeigt die Box an.

Wenn ich " einen Eintrag machen lasse" wie z.B.

Target.FormulaR1C1 = "06:30" ' Setzt die aktive Zelle auf 06:30

macht er das nur einmal - dann muss ich die Datei schließen und neu öffnen dann läuft der Code wieder einmal.

Genau heißt das dass:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

nicht mehr startet?????

..............................und mir ist aufgefallen dass das Ribbon (Menüband) bei jedem weiterem Doppelklick ausgegraut wird bis ich in eine andere Zelle klicke


Danke und lg STeve
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 07:20:52
RPP63
Moin!
Auch, wenn ich wiederhole:
• Warum gehst Du den Umweg über eine Sub?
• Warum schreibst Du den TEXT "6:30" in die Zelle? Eine Zeit trägt man mit Timeserial() ein (Zahlenformat hh:mm).
Folglich:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Cancel = True
MsgBox "Geht!"
Target.Value = TimeSerial(6, 30, 0)
End Sub

Gruß Ralf
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 10:50:14
Onur
Setze VOR und NACH dem Eintrag einen STOP:
Stop

Target.FormulaR1C1 = "06:30"
Stop

Was macht der Code dann?
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 10:59:35
STeve
Hallo Onur

Code läuft auch nur einmal ab!! :-(

lg STeve
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 11:01:16
Onur
Der Code kann nicht ablaufen, er wird unterbrochen. Wie oft und wo genau ?
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 15:04:29
STeve
Hallo Onur

.......tausend Dank für deine Hilfe - das war es - - habe ein Worksheet_Change-Event wo es bei bestimmten Usern (und das bin ich) einfach exit sub macht und deshalb und die Events nicht mehr einschaltet.

Dir ein schönes WE.

lg STeve
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 15:17:23
Yal
Nun ja, ich hatte auf eine unbehandelte Fehler getippt, aber nicht dass der Fehler vor dem Tastatur steht ;-)

Ein Exit Sub vor dem Application.EnableEvents = True muss man einmal gemacht haben, dann merkt man es sich ein für allemal (wobei ich selber mehrere Anlauf gebraucht habe.)

VG
Yal

Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 15:24:42
STeve
Danke Yal ...........auch für deine Unterstützung.

....................aber nicht dass der Fehler vor dem Tastatur steht ;-) ;-) denke das ist ja in den meisten Fällen so hier im Forum!!!!!!!!!!!!!!!!!!!!!!!!

Habe es mit einer Sprungmarke gelöst so macht es statt exit einfach noch davor die Events wieder an.

Schönes WE lg
STeve
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 07:56:18
STeve
Hallo Ralph.............cool dass du schon am helfen bist ;-)

Es hat nichts mit dem Zeiteintrag zu tun.
Habe es geändert auf:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Msgbox "Geht!"
Target.Value = "Hallo"
End Sub

geht auch nur einmal..............dann startet es nicht mehr - bis ich auf und zu gemacht habe???



Wenn das Doppelklick-Ereignis in Excel VBA nicht gestartet wird, kann dies verschiedene Ursachen haben. Hier sind einige häufige Gründe und mögliche Lösungen:

Kann es sein dass nach dem ersten Klick:

5. Die Zelle ist möglicherweise im Bearbeitungsmodus
Problem: Wenn du eine Zelle bearbeitest (z. B. durch einfachen Klick oder Drücken von F2) und dann einen Doppelklick ausführst, wird das Ereignis nicht ausgelöst, weil die Zelle bereits im Bearbeitungsmodus ist.
Lösung: Vergewissere dich, dass die Zelle nicht im Bearbeitungsmodus ist, wenn du den Doppelklick ausführst.

Wie könnte ich das feststellen????? bzw. testen/lösen

danke

Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 08:03:12
RPP63
Was soll die Häme in Deinem ersten Satz?
Cancel=True bewirkt, dass der Bearbeitungsmodus umgangen wird.
Dieser wird (da er hier ja ausgeschaltet wurde) nur in zwei Fällen aktiviert:
• du drückst F2
• Du klickst in die Bearbeitungsleiste

Ansonsten ist das von Dir geschilderte Verhalten nicht nachvollziehbar.
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 08:30:54
STeve
Hallo Ralph........

Vorab: ...ist in keinster Weise als Häme gemeint!!!!!!!!!!!!!!!!!!..............wollte mich nur nett bedanken dass du schon so früh hier hilfreich bist. Tut mir leid!!!
Bin ja schon seit Jahren hier immer wieder mit Fragen unterwegs. Bin sehr dankbar für die schnelle Hilfe.

Zu meinem Problem:

Klicke weder F2... noch in die Leiste!!!


Wieso klappt es mit der Msgbox????????


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Cancel = True
Msgbox "Doppelklick funktioniert"
End Sub



Unglaublich!!!!!!!!!!

lg STeve
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 15:04:09
STeve
Hallo Ralph

.......tausend Dank für deine Hilfe - das war es - - habe ein Worksheet_Change-Event wo es bei bestimmten Usern (und das bin ich) einfach exit sub macht und deshalb und die Events nicht mehr einschaltet.

Dir ein schönes WE.

lg STeve
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 10:22:56
Heli
Hi,

hast Du eventuell noch ein weiteres Eventmakro aktiv > Worksheet_Change > das könnte die Ursache sein wenn die MsgBox klappt und ein Eintrag nicht...

Servus, Heli
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 10:53:52
STeve
Hallo Heli.................jaaaaaaaa genau habe ich!!!!!

Was hast du da für eine Idee???

lg
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 10:56:53
Onur
"Was hast du da für eine Idee??? "
Dass du endlich mal den ganzen Code oder die Datei postest.
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 14:03:48
Heli
Hi,

na ich würde halt ein Application.EnabelEvents = False vor dem Schreiben in die Zelle einbauen und danach mit = True wieder die Events einschalten...

Da wir Deinen kompletten Code nicht kennen kann ich nur vermuten > eventuell werden im Worksheet_Change-Event auch die Events ausgeschalten und nicht wieder aktivier, das könnte zu dem Verhalten führen.

Servus, Heli
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
25.10.2024 15:03:19
STeve
Hallo Heli......

.......tausend Dank für deine Hilfe - das war es habe ein Worksheet_Change-Event wo es bei bestimmten Usern (und das bin ich) einfach exit sub macht und deshalb und die Events nicht mehr einschaltet.

Das war es.

Dir ein schönes WE.

lg STeve
Anzeige
AW: Private Sub Worksheet_BeforeDoubleClick - - geht nur einmal
24.10.2024 17:22:21
STeve
Hi Yal .........Danke für deine schnelle Hilfe. Leider geht es nicht.
Aber wenn ich nur die Msgbox aufrufe - wie hier unten - klappt es???????????


'in Codepane vom Arbeitsblatt
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
mach24erbeidoppellklickeintragen
End Sub

'im Allgemeinen Modul
Sub mach24erbeidoppellklickeintragen()
On Error Resume Next
Application.EnableEvents = False
'''ActiveCell.FormulaR1C1 = "06:30" ' Setzt die aktive Zelle auf 06:30

Msgbox "läuft"
Application.EnableEvents = True
End Sub
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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