Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zelle nach x Sekunden entsperren
#11
Man kann jeder User ein eigenes Such-workbook geben.
Suchen kann in einer separate Datei stattfinden.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#12
Hallo, wäre das so richtig?
Diesen Code muss ich doch in das Datenblatt einfügen?

Private Sub Worksheet_Change(ByVal Target As Range)

Public strTarget As String
If Target.Address = "$C$1" And Target.Value = "" Then Exit Sub
If Target.Address = "$C$1" And Target.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


Wäre das richtig?
Antworten Top
#13
Hallo,

nicht ganz. Die Zeile mit der Variablendekleration gehört außerhalb der Prozedur.

Code:
Private strTarget As String 'als Private,da Public nur in einen allgemeinen Modul stehen sollte

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$C$1" And Target.Value = "" Then Exit Sub
If Target.Address = "$C$1" And Target.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
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#14
Hi, ich habe folgendes gemacht..


Diesen Code habe ich in Tabellenblatt mit dem Name (OFFEN) eingefügt.

Private Sub Worksheet_Change(ByVal Target As Range)

'
On Error Resume Next


'Wenn Erledigt dann Datum
If Target.Column = 45 Or Target.Column = 48 Or Target.Column = 51 Or Target.Column = 54 Then
    If Target.Value = "Erledigt" Then
       Target.Locked = True
       Target.Offset(0, 1).Value = Date
       Sheets("OFFEN").Unprotect password:="159357junk"
       Target.Offset(0, -1).Select
       Selection.Locked = True
    Else
       Sheets("OFFEN").Protect password:="159357junk", DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True  'Blattschutz aktivieren
       Exit Sub
    End If
End If



If Target.Address = "$C$1" And Target.Value = "" Then Exit Sub

If Target.Address = "$C$1" And Target.Value > 0 Then
    Sheets("OFFEN").Unprotect password:="159357junk"
    Target.Locked = True
    strTarget = Target.Address
    Application.OnTime Now + TimeValue("00:00:60"), "Freigeben"
End If


On Error GoTo 0
End Sub

Sub Freigeben()
Range(strTarget).Locked = False
End Sub

und den Code in ein allgemeines Modul1

Private strTarget As String 'als Private,da Public nur in einen allgemeinen Modul stehen sollte

So?
Antworten Top
#15
Hallo,

ich habe nicht vermutet, dass du die Variable in einem allgemeinen Modul deklarierst, da heißt es natürlich Public anstelle von Private.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#16
Hallo Steffan,
Ich habe statt Privat auf Public geändert. Die Zelle C1 wird geschützt doch nach 60 sec. nicht wieder entsperrt.
Kann es daran liegen das die Tabelle Passwort geschützt ist?
Antworten Top
#17
Hallöchen,

... wenn Du nicht, wie ich beschrieben habe, UserInterfaceOnly = True gesetzt hast ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#18
Hallo Steffan du bist echt klasse!!!

Hab's geschafft und es funktioniert super. Danke noch mal :19:

Hallo, 
in welchen Abschnitt sollte den "UserInterfaceOnly = True" gesetzt werden? und wo für steht das?
Antworten Top
#19
Hallöchen,

siehe hier: #8

und dann wo es passt ActiveSheet.Protect ... UserInterfaceOnly = True
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste