#1 12. Juli 2009 Excel Makro Blatt sperren Hallo zusammen, ich versuche gerade ein Makro zu machen, bekomme es aber leider nicht ganz hin. Und zwar ist das Blatt nicht geschützt. Wenn man jetzt aber nen Button klickt, dann trägt er die aktuelle Uhrzeit in die aktive Zelle ein und sperrt das ganze Blatt, so dass man nirgends mehr was von Hand eintragen kann. Man kann nur in jede andere Zelle wieder die Zeit per Button eintragen lassen. Jedoch will ich auch, dass man einfach mal ein Buchstabe (welcher für andere Dinge steht) eintragen kann. Das geht jedoch nicht, weil durch den Buttonklick das ganze Blatt gesperrt ist außer eben für den Button. Wie kann ich das umgehen oder ändern? Hier der Code des Buttons: Code: Private Sub CommandButton1_Click() On Error Resume Next If ActiveCell.Column >= 4 And ActiveCell.Column <= 9 Then If ActiveCell.Value = "" Then ActiveSheet.Unprotect Password:="asalzeit" ActiveCell.Value = Now ActiveCell.NumberFormat = "hh:mm:ss" ActiveSheet.Protect Password:="asalzeit" Else MsgBox "In der Zelle befindet sich bereits eine Uhrzeit:" & vbCr & _ Format(ActiveCell.Value, "hh:mm"), vbInformation End If Else MsgBox "Bitte setzen Sie den Cursor in die Spalte D, E, F, G, H oder I!", vbInformation End If End Sub LG + Multi-Zitat Zitieren
#2 12. Juli 2009 AW: Excel Makro Blatt sperren Entfern einfach diese zwei Zeilen, dann wird es nicht mehr gesperrt (könnte man aber auch von selbst drauf kommen ): Code: ActiveSheet.Unprotect Password:="asalzeit" ActiveSheet.Protect Password:="asalzeit" Mfg Rushh0ur + Multi-Zitat Zitieren
#3 12. Juli 2009 AW: Excel Makro Blatt sperren ja das weiss ich auch, dass sie dann nicht mehr gesperrt werdne. aber das sollen sie, damit man das eingetragene nicht mehr aendern kann - sollte auch logisch sein?! + Multi-Zitat Zitieren
#4 12. Juli 2009 AW: Excel Makro Blatt sperren Wenn ich das jetzt richtig verstanden habe willst du nicht das komplette Blatt sperren, sondern nur einen bestimmten Bereich. Falls nicht erklähre bitte nochmal genau was du eigentlich erreichen willst. + Multi-Zitat Zitieren
#5 12. Juli 2009 AW: Excel Makro Blatt sperren ja ich will immer den bereich sperren, in den ich ueber den Button schon was eingetragen habe. die anderen zeilen brauchen noch nicht gesperrt sein. + Multi-Zitat Zitieren
#6 12. Juli 2009 AW: Excel Makro Blatt sperren Achso dann hab ich dich verstanden .... Ein möglichkeit wäre die Beschreibbarkeit durch die Eigenschaft Locked zu setzen: Code: ActiveSheet.Unprotect Password:="asalzeit" Range("A1:Z9999").Locked = False Range("B1:B10").Locked = True ActiveSheet.Protect Password:="asalzeit" Mfg Rushh0ur + Multi-Zitat Zitieren
#7 13. Juli 2009 AW: Excel Makro Blatt sperren Probiere es doch mit einer Frage - soll die Zeit eingetragen werden? Ja Nein Vielleicht? Code: Private Sub CommandButton1_Click() On Error Resume Next If ActiveCell.Column >= 4 And ActiveCell.Column <= 9 Then If ActiveCell.Value = "" Then If MsgBox("Möchten Sie die Zeit eintragen, dann klicken Sie auf 'JA' für einen Buchstaben auf 'NEIN'", vbYesNo) = vbYes Then ActiveSheet.Unprotect Password:="asalzeit" ActiveCell.Value = Now ActiveCell.NumberFormat = "hh:mm:ss" ActiveSheet.Protect Password:="asalzeit" Else ActiveSheet.Unprotect Password:="asalzeit" ActiveCell.Value = InputBox("Buchstabe") ActiveSheet.Protect Password:="asalzeit" End If Else MsgBox "In der Zelle befindet sich bereits eine Uhrzeit:" & vbCr & _ Format(ActiveCell.Value, "hh:mm"), vbInformation End If Else MsgBox "Bitte setzen Sie den Cursor in die Spalte D, E, F, G, H oder I!", vbInformation End If End Sub Das ganze könnte man dann noch mit einer Liste der zulässigen Buchstaben ergänzen Fertig + Multi-Zitat Zitieren
#8 13. Juli 2009 AW: Excel Makro Blatt sperren Oder du machst via Inputbox ne Abfrage nach dem Passwort um das Blatt zu entsperren + Multi-Zitat Zitieren