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.

Häkchen in nur einer von drei Zellen
#21
Hallo LCohen,
das verstehe ich nicht. Wie soll das funktionieren??

aktuelles Datum in Zelle D4: =TODAY()

sobald das Häkchen in AC4 gesetzt ist, soll das Datum minus 1 Tag sein =TODAY()-1

Das -1 soll nur dann greifen, wenn das Häkchen in der Zelle AC4 steht bzw. gesetzt ist.

Hintergrund ist: 
In einem Schichtübergabeprotokoll markiert man am Schichtende mit dem Häkchen welche Schicht man gearbeitet hat (Frühschicht / Spätschicht / Nachtschicht)
Wird das Protokoll am Ende der Nachtschicht geschrieben (Häkchen in Zelle AC4), dann hat die Arbeitszeit ja am Vorabend begonnen.
Deshalb aktuelles Datum -1 bei Häkchen in AC4
Antworten Top
#22
Hi,

das
D4: =HEUTE()-AC4
bezieht sich auf seinen Lösungsvorschlag mit dem Rechtsklick, denn da steht 1 oder 0 in der Zelle.

Darum hat er geschrieben:
Zitat:Da haben wir doch gleich die Begründung für das, was ich sagte!

das
D4: =HEUTE()-(AC4="ü")
dürfte sich dann auf die Doppelklick-Lösung beziehen.
Antworten Top
#23
Genau Rabe,
du hast Recht. Da hab nicht genau gelesen.

Jetzt habe ich noch festgestellt, dass ,wenn ich das Sheet schütze, der Code für die Häkchen nicht mehr funktioniert.
Kann mir da noch jemand helfen? Kann man den Code trotz Schutz nutzbar machen?
Antworten Top
#24
Hi,

das ist klar, denn das Makro will ja was in die Zelle schreiben.
Das geht nur, wenn Du am Anfang / Ende des Makros den Blattschutz entfernst / setzt.

Tabelle1.Unprotect
...
Tabelle1.Protect
Antworten Top
#25
Ich brauch aber ein geschütztes Arbeitsblatt, bei dem man die Häkchen nach Bedarf setzen kann.
Geht das denn nicht???
Antworten Top
#26
Habe ich doch geschrieben:
am Anfang entfernen, am Ende wieder setzen.
Antworten Top
#27
Ich hab mich vielleicht nicht richtig ausgedrückt.

Das Schichtprotokoll wird von vielen Personen benutzt, soll aber nicht verändert werden können.
Außer das die Häkchen an der jeweiligen Stelle gesetzt werden und etwas Text eingegeben werden soll.
Deshalb soll das setzen der Häkchen bei aktiviertem Blattschutz funktionieren.
Antworten Top
#28
Hi,

das habe ich jetzt doch schon 2 Mal geschrieben, hast Du es überhaupt probiert?

Also nun zum Dritten Mal:
Zitat:Dann schreibe in das Makro zum Einfügen der Häkchen am Anfang rein:
'Blattschutz entfernen
ActiveSheet.Unprotect

und am Ende, also nach Einfügen des Häkchens:
'Blattschutz wieder setzen
ActiveSheet.Protect

Dadurch wird automatisch der Blattschutz aufgehoben, dann das Häkchen gesetzt und dann wird das Blatt wieder geschützt.

Dann also hier mal für Nicht-Mitdenker:
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   If Intersect(Target, Range("B4,D4,F4")) Is Nothing Then Exit Sub
   'Blattschutz aufheben
   ActiveSheet.Unprotect
   If Target.Value = Chr(252) Then
      Range("B4,D4,F4").Value = Chr(159)
      Intersect(Target.EntireRow, Range("U4,Y4,AC4")).Font.Color = RGB(200, 200, 200)
      Target.Font.Color = RGB(200, 200, 200)
      Target.Value = Chr(159)
   Else
      Range("B4,D4,F4").Value = Chr(159)
      Intersect(Target.EntireRow, Range("B4,D4,F4")).Font.Color = RGB(200, 200, 200)
      Target.Font.Color = RGB(255, 0, 0)
      Target.Value = Chr(252)
   End If
   Cells(Target.Row + 1, Target.Column).Select
   'Blattschutz wieder setzen
   ActiveSheet.Protect
End Sub
Antworten Top
#29
Sorry nochmal,
ich check´s leider nicht richtig. Ich hab jetzt mal den Code unten angeführt.
Wo gehören da die Ergänzungen rein?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("U4,Y4,AC4")) Is Nothing Then Exit Sub
        If Target.Value = Chr(252) Then
            Range("U4,Y4,AC4").Value = Chr(159)
            Intersect(Target.EntireRow, Range("U4,Y4,AC4")).Font.Color = RGB(200, 200, 200)
            Target.Font.Color = RGB(200, 200, 200)
            Target.Value = Chr(159)
        Else
            Range("U4,Y4,AC4").Value = Chr(159)
            Intersect(Target.EntireRow, Range("U4,Y4,AC4")).Font.Color = RGB(200, 200, 200)
            Target.Font.Color = RGB(255, 0, 0)
            Target.Value = Chr(252)
        End If
        Cells(Target.Row + 1, Target.Column).Select
End Sub
Antworten Top
#30
Bitte meine letzte Antwort vergessen. Du hast den Code ja schon geschickt. Den hat es bei mir nicht richtig angezeigt, aber jetzt sehe ich ihn.
Ich danke euch allen für eure Mühe und Geduld!!!
Antworten Top


Gehe zu:


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