Thema Datum  Von Nutzer Rating
Antwort
24.11.2017 13:51:27 OfiOfi
NotSolved
24.11.2017 17:15:07 Mackie
NotSolved
Rot Name doppelt vergeben
24.11.2017 18:01:52 Werner
NotSolved

Ansicht des Beitrags:
Von:
Werner
Datum:
24.11.2017 18:01:52
Views:
526
Rating: Antwort:
  Ja
Thema:
Name doppelt vergeben

Hallo,

meinst du so was?

 

Vorbereitungen:

Spalte C und Spalte M im Uhrzeitformat nach deinen Wünschen formatieren

alle Zellen auf dem Blatt entsperren

Passwort im Code an deine Bedürfnisse anpassen

Blattname im Code an deine Bedürfnisse anpassen

Datei speichern

Beim nächsten Start der Datei sind alle Zelle beschreibbar, der Blattschutz ist gesetzt.

 

Beim Eintrag einer 1 in Spalte A oder K ab Zeile 8 bis Zeile 50 wird jeweils in die Zelle rechts daneben das Datum eingetragen, eine Zelle neben dem Datum wird die Uhrzeit eingetragen. Die Zelle mit der 1, die Zelle mit dem Datum und die Zelle mit der Uhrzeit werden gesperrt.

 

Den ersten Code ins Codemodul von "Diese Arbeitsmappe". Dadurch wird beim Start der Datei der Blattschutz auf das entsprechende Blatt gesetzt, UserInterfaceOnly = True bedeutet, dass Änderungen durch Makros durchgeführt werden dürfen. So sparst du dir im Code das ständige entsperren und wieder sperren des Tabellenblattes.

Private Sub Workbook_Open()
'Blattname und Passwort anpassen
Worksheets("Tabelle1").Protect Password:="DeinPasswort", UserInterfaceOnly:=True
End Sub

Den zweiten Code ins Codemodul des Tabellenblattes, auf dem er sich auswirken soll.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Or Target.Column = 11 Then
    If Target.Row >= 8 And Target.Row <= 50 Then
        If Target.Count > 1 Then
            MsgBox "Keine Mehrfachauswahl."
            Application.EnableEvents = False
            Application.Undo
            Application.EnableEvents = True
            Exit Sub
        End If
        If Not Target Is Nothing Then
            If Target.Value = 1 Then
                Target.Offset(, 1) = Date
                Target.Offset(, 2) = Time
                Range(Cells(Target.Row, Target.Column), Cells(Target.Row _
                , Target.Column + 2)).Locked = True
            End If
        End If
    End If
End If
End Sub

 

Gruß Werner

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
24.11.2017 13:51:27 OfiOfi
NotSolved
24.11.2017 17:15:07 Mackie
NotSolved
Rot Name doppelt vergeben
24.11.2017 18:01:52 Werner
NotSolved