Registriert seit: 03.06.2019
Version(en): 2016
Guten Tag,
ist es überhaupt möglich, wenn in Zelle etwas eingetragen wird diese für 60 Sekunden zu sperren und nach Zeitablauf zu entsperren?
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo,
wozu soll das gut sein?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 03.06.2019
Version(en): 2016
Hallo,
in der Zelle C1 wird ein Suchbegriff eingetragen und die Datei wird von mehreren Personen per ONDRIVE benutzt.
Wenn ich mein Suchbegriff in C1 eintrage um nach werten zu suchen, darf die Zelle C1 erst nach 60 Sekunden wieder verändert werden.
Somit verhindere ich, das ein Benutzer mein Suchbegriff, innerhalb der 60 Sekunden verändern kann.
Registriert seit: 12.04.2014
Version(en): Office 365
Wir sehen uns!
... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 03.06.2019
Version(en): 2016
Hallo, die neue Funktion kenne ich und das ist halt nicht das selbe.
Was ich brauche ist
If Target.Range ("C1").Value = "" Then Exit Sub
Application.OnTime Now + TimeValue("00:00:60"), Target.Locked = True
End If
Irgend wie so????
Registriert seit: 12.04.2014
Version(en): Office 365
Richtig, es ist nicht das selbe.
Abes es läuft auf das selbe Ergebnis hinaus: einen Filter benutzen ohne andere damit zu stören.
Wir sehen uns!
... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 03.06.2019
Version(en): 2016
OK, dann stelle ich die Frage erneut.
Kann man eine Zelle oder Zellenbereich, für eine bestimmte Zeit sperren wenn der Bereich >0 ist?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
Application.OnTime ist dazu da, ein Makro aufzurufen.
Also nicht
If Target.Range ("C1").Value = "" Then Exit Sub
Application.OnTime Now + TimeValue("00:00:60"), Target.Locked = True
sondern
Code:
Public strTarget as String
Private Sub WorkSheet...(...)
If Target.Range ("C1").Value = "" Then Exit Sub
If Target.Range ("C1").Value >0 Then Target.Locked = True
StrTarget = Target.Address
Application.OnTime Now + TimeValue("00:00:60"), "Freigeben"
End Sub
Sub Freigeben()
Range(strTarget).Locked=false
End Sub
Beim setzen vom Blattschutz musst Du per Makro UserInterfaceOnly=True setzen. Ansonsten musst Du im Makro zum Ändern des "Gesperrt" - Zustandes den Blattschutz kurz aufheben
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo André,
Target.Range("C1") ? Hast Du auch getestet?
Gruß Stefan
Win 10 / Office 2016
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
29.09.2020, 09:16
(Dieser Beitrag wurde zuletzt bearbeitet: 29.09.2020, 09:17 von schauan.)
Hallo Stefan,
danke für den Hinweis, ich bin nur auf OnTime eingegangen.
Auch die Sache mit dem Target muss in zwei teile gesplittet werden. Zum einen die Prüfung, ob der target C1 ist, zum anderen, was drin steht
z.B.
If Target.Address="$C$1" and Target.Value > 0 Then ...
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)