Anzeige
Archiv - Navigation
1624to1628
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

Doppelklick nur einmal zulassen

Doppelklick nur einmal zulassen
06.06.2018 15:13:41
Torsten
Hallo zusammen.
Ich mal wieder.
Habe eine Tabelle bei der ich beim Workbook Start die Spalten A - O mit Passwort sperre.
Die Spalten K und L werden mit Doppelklick entsperrt und aktuelles Datum und Uhrzeit werden eingetragen.
Soweit so gut. Funktioniert auch.
Meine Frage: Wie kann ich jetzt erreichen, dass die Eingabe per Doppelklick nur einmal moeglich ist? Also nachdem der User den Eintrag gemacht hat, die Zelle nicht mehr veraenderbar ist (natuerlich nur fuer den User). Weil, wenn ich spaeter wieder auf die Zelle doppelklicke, wird ja wieder aktuelles Datum und Zeit eingetragen.
Hier mein Code:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("K:L")) Is Nothing Then
Worksheets("Main Sheet").Unprotect "?"
Target = Date + Time
Cancel = True
Worksheets("Main Sheet").Protect "?"
End If
End Sub
Vielen Dank fuer Loesungsansaetze.
Gruss Torsten

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelklick nur einmal zulassen
06.06.2018 15:24:31
Daniel
Hi
wenn der Doppelklick auf die Zelle nur zulässig ist, wenn die Zellen noch leer sind, kannst du das doch einfach mit: if Target.Value = "" überprüfen.
kleiner Tip noch: die Funktion Now ergibt Datum und Uhrzeit (Date + Time = Now)
Gruß Daniel
AW: Doppelklick nur einmal zulassen
06.06.2018 15:33:32
Torsten
Hi Daniel. Also z. B. so:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("K:L")) Is Nothing And Target.Value = "" Then
Worksheets("Main Sheet").Unprotect "?"
Target = Date + Time
Cancel = True
Worksheets("Main Sheet").Protect "?"
Else MsgBox "Keine Eingabe mehr moeglich"
End If
End Sub

Anzeige
AW: Doppelklick nur einmal zulassen
06.06.2018 15:41:47
Daniel
im Prinzip ja.
wobei ich es bevorzuge, mehrere mit AND verknüpfte Bedingungen nicht in eine Bedingungsprüfung zu stecken, sondern mit mehreren geschachtelten IF-Blöcken zu arbeiten.
Außerdem, wenn der Doppelklick auf die Spalte A erfolgt, wäre die Hinweismeldung "Keine Eingabe mehr möglich" ja irreführend.
weiterhin würde ich dir empfehlen, mit Einrückungen zu arbeiten und nach THEN und ELSE immer eine neue Zeile anzufangen.
das ist einfach übersichtlicher.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("K:L")) Is Nothing
Msgbox "Doppelklick ausßerhalb des gültigen Bereichs (K:L)"
Else
if  Target.Value = "" Then
Worksheets("Main Sheet").Unprotect "?"
Target = Now
Worksheets("Main Sheet").Protect "?"
Else
MsgBox "Keine Eingabe mehr moeglich"
End If
Cancel = True
End if
End Sub
Gruß Daniel
Anzeige
AW: Doppelklick nur einmal zulassen
06.06.2018 16:25:39
Torsten
Perfekt Daniel. Danke.
Aber sorry, dass ich dich jetzt mal verbessere:
Du hast nach

If Intersect(Target, Range("K:L")) Is Nothing
das "Then" vergessen
;-)
Ansonsten klappt das perfekt.
AW: Doppelklick nur einmal zulassen
06.06.2018 16:58:32
Daniel
sorry, ich sehe mich hier nicht als Codelieferanten.
ich zeige dir ggf auf, wie es geht, aber ich erwarte eigentlich, dass du dir deine Makros selber schreibst.
Daher ist es für mich auch unerheblich, ob ich jetzt solche Kleinigkeiten vergessen habe oder nicht.
Spätestens beim ersten Testlauf fällt sowas ja auf (und den machst du, nicht ich)
Gruß Daniel
Anzeige
AW: Doppelklick nur einmal zulassen
06.06.2018 17:12:31
Torsten
Das war nicht boes gemeint. Eher als kleiner Scherz. Sorry
AW: Doppelklick nur einmal zulassen
07.06.2018 12:39:05
Torsten
So da bin ich nochmal mit der Bitte, mir bei einem Zusatz zu diesem Code zu helfen. Komme nicht dahinter. Ich moechte zusaetzlich noch verhindern, dass in Spalte L der Doppelklick ausgefuehrt werden kann, wenn in Spalte K noch nichts steht.
Danke fuer nochmalige Hilfe.
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("K:L")) Is Nothing Then
MsgBox "Outside of the available range"
Else
If Target.Value = "" Then
Worksheets("Main Sheet").Unprotect "?"
Target = Now
Worksheets("Main Sheet").Protect "?"
Else
MsgBox "No more change possible"
End If
Cancel = True
End If
End Sub

Anzeige
AW: Doppelklick nur einmal zulassen
07.06.2018 13:06:46
Daniel
HI
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("K:L")) Is Nothing Then
MsgBox "Outside of the available range"
Else
If Target.Value = "" Then
if Target.column = 12 and Target.Offset(0, -1).value = "" then
Msgbox "Please fill in column K first"
else
Worksheets("Main Sheet").Unprotect "?"
Target = Now
Worksheets("Main Sheet").Protect "?"
end if
Else
MsgBox "No more change possible"
End If
Cancel = True
End If
End Sub
gruß Daniel
AW: Doppelklick nur einmal zulassen
07.06.2018 13:24:02
Torsten
und mal wieder: Vielen Dank Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige