Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1604to1608
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

akt Datum in mehreren Sheets

akt Datum in mehreren Sheets
06.02.2018 17:22:56
Peer
Hallo.
Ich hänge an der Aufgabe, bei öffnen des Workbooks das aktuelle Datum zu fokusieren.
Das macht er auch soweit.
Private Sub Workbook_Open()
' suche aktuelles Datum in allen Blättern mit Datums-Zellen
Dim ws As Worksheet
Dim cll As Range
For Each ws In Worksheets
For Each cll In ws.UsedRange
If cll = Date Then
ws.Activate
cll.Activate
cll.Activate.Interior.ColorIndex = 4
Exit Sub
End If
Next
Next
End Sub

Nun sollte der Code zwei Sachen machen.
1. Von der Zelle mit Datum zwei Spalten nach rechts (cll.Resize?)
2. Diese Zelle mit einer Hintergrundfarbe versehen.
Wie stelle ich das an?
Vielen Dank für eure Hilfe.
LG
Peer

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: akt Datum in mehreren Sheets
06.02.2018 17:31:26
Hajo_Zi
cll.Interior.ColorIndex = 4

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung....."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: akt Datum in mehreren Sheets
06.02.2018 17:41:03
Peer
Hallo Hajo.
Danke für deinen Tipp.
Daran hatte ich auch schon gedacht, aber er bringt mir Laufzeitfehler 1004
Private Sub Workbook_Open()
' suche aktuelles Datum in allen Blättern mit Datums-Zellen
Dim ws As Worksheet
Dim cll As Range
For Each ws In Worksheets
For Each cll In ws.UsedRange
If cll = Date Then
ws.Activate
cll.Activate
cll.Interior.ColorIndex = 4
Exit Sub
End If
Next
Next
End Sub
Gruß
Peer
Anzeige
AW: akt Datum in mehreren Sheets
06.02.2018 17:43:36
Hajo_Zi
Hallo Peer,
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Gruß Hajo
Anzeige
AW: akt Datum in mehreren Sheets
06.02.2018 18:03:25
Peer
Hallo Hajo.
Ok.
Ich verlinke mal von der Original-Datei die Hälfte der Blätter, weil die Datei sonst zu groß ist.
https://www.herber.de/bbs/user/119594.xlsm
Vielleicht kannst du auch mal drauf schauen, warum der Export-Button im Ribbon ohne Funktion bleibt.
Das wäre sehr nett.
Vielen Dank
Peer
AW: akt Datum in mehreren Sheets
06.02.2018 18:07:20
Hajo_Zi
Hallo Peer,
Bei Schutz geht das nicht. also aufheben und vor End Sub setzen.
Gruß Hajo
AW: akt Datum in mehreren Sheets
06.02.2018 18:22:59
Peer
Hallo Hajo.
Ok.
Das war es. Danke, Hajo.
Hier nochmal der Code:
Option Explicit
Private Sub Workbook_Open()
' suche aktuelles Datum in allen Blättern mit Datums-Zellen
Dim ws As Worksheet
Dim cll As Range
ActiveSheet.Unprotect
For Each ws In Worksheets
For Each cll In ws.UsedRange
If cll = Date Then
ws.Activate
cll.Activate
cll.Interior.ColorIndex = 4
Exit Sub
End If
Next
Next
ActiveSheet.Protect
End Sub
LG
Peer
Anzeige
AW: akt Datum in mehreren Sheets
06.02.2018 18:30:10
Peer
Hallo.
Jetzt noch beim oberen Code eine weitere Frage.
Wie kann ich erreichen, das beim dem aktuellen Datum zwei Spalten weiter in der Zeile der Focus gesetzt wird?
Private Sub Workbook_Open()
' suche aktuelles Datum in allen Blättern mit Datums-Zellen
Dim ws As Worksheet
Dim cll As Range
Dim row As Byte
row = ActiveCell.row
ActiveSheet.Unprotect
For Each ws In Worksheets
For Each cll In ws.UsedRange
If cll = Date Then
ws.Activate
cll.Activate
cll.Interior.ColorIndex = 6
Exit Sub
End If
cll.Cells(row, 3).SetFocus
Next
Next
ActiveSheet.Protect
End Sub

funktioniert nicht.
LG
Anzeige
AW: akt Datum in mehreren Sheets
06.02.2018 18:37:42
Hajo_Zi
Hallo Peer,
warum wird der Schutz nicht bei WS aufgehoben?
Gruß Hajo
AW: akt Datum in mehreren Sheets
06.02.2018 18:45:49
Peer
Hi Hajo.
Meinst du ws.Unprotect?
Fehler 81
Objectvariable nicht gefunden.

LG
Peer
vielen Dank (owT)
06.02.2018 19:18:01
Peer
AW: akt Datum in mehreren Sheets
06.02.2018 18:42:22
Luschi
Hallo Peer,
wo hast Du denn diese Vba-Zeile her: cll.Cells(row, 3).SetFocus
In Hajo's Lösung stand davon nix und 'SetFocus' ist ein Befehl aus der
Userform-Programmierung:

If cll = Date Then
ws.Activate
''cll.Activate
cll.Interior.ColorIndex = 4
cll.Offset(0, 2).Select
Exit Sub
End If
Gruß von Luschi
aus klein-Paris
Anzeige
AW: akt Datum in mehreren Sheets
06.02.2018 18:59:54
Peer
Hallo luschi.
Ich hatte beides probiert. Ich dachte mir, wenn das eine nicht geht, probiere das andere.
Geht aber auch nicht.
ws.Unprotect kommt mit Fehlermeldung.
ActiveSheet.Unprotect ohne Fehlermeldung und funktioniert.
Nun die Frage.
Was passiert im März. Funktioniert es dann auch?
Wenn ich den Code richtig interpretiere, dann wird erst das aktive Sheet entsperrt, dann nach dem Datum gesucht, das aktuelle Datum gefunden, dann das Sheet(ws) aktiviert, die Zelle aktiviert, der Hintergund farbig gemacht und zwei Spalten weiter fokussiert.
Und am Ende das aktive Sheet gesperrt.
Wenn ich ws.Unprotect nehme, sollte erst das gefundene Sheet (ws) entsperrt werden.
Habe ich hier einen Denkfehler?
LG
Peer
Anzeige
vielen Dank (owT)
06.02.2018 19:17:38
Peer
AW: akt Datum in mehreren Sheets
06.02.2018 19:09:36
Peer
Hallo luschi und HaJo.
Langsam lernt man dazu.
Ich habe den Blattschutz ein/aus an der falschen Stelle.
Nun läuft er.
Danke euch beiden.
Hier nochmal der Code für alle anderen...
Private Sub Workbook_Open()
' suche aktuelles Datum in allen Blättern mit Datums-Zellen
Dim ws As Worksheet
Dim cll As Range
For Each ws In Worksheets
ws.Unprotect
For Each cll In ws.UsedRange
If cll = Date Then
ws.Activate
cll.Activate
cll.Interior.ColorIndex = 6
cll.Offset(0, 2).Select
Exit Sub
End If
Next
ws.Protect
Next
End Sub
LG
AW: akt Datum in mehreren Sheets
06.02.2018 19:50:02
Peer
Hallo.
Ich bin es doch nochmal.
Bei Ausprobieren (ich habe die Systemtage immer wieder mal gewechselt) fiel mir auf, das bei wechsel des Datums die Hintergrundfarbe des "alten" Datums geblieben ist.
Gruß
Peer
Anzeige
AW: akt Datum in mehreren Sheets
06.02.2018 21:54:50
Peer
Hallo.
Hat denn keiner eine Idee, wie ich den Code dazu bewegen kann, den alten Eintrag zurück zunehmen?

Application.Calculate


Application.ScreenUpdating = False

Beides hilft nicht
Gruß
Peer
AW: akt Datum in mehreren Sheets
10.02.2018 13:18:16
Peer
Mit herumprobieren bin ich selbst darauf gekommen und hoffe, das es richtig ist, auch wenn es momentan funktioniert.
Hier der vollständige Code
Private Sub Workbook_Open()
' suche aktuelles Datum in allen Blättern mit Datums-Zellen
Dim ws As Worksheet
Dim cll As Range
Dim row As Byte
For Each ws In Worksheets
ws.Unprotect
For Each cll In ws.UsedRange
If cll = Date Then
ws.Activate
cll.Activate
cll.Interior.ColorIndex = 6
cll.Offset(0, 2).Select
Exit Sub
' setzt die Füllfarbe wieder zurück
Else: cll.Interior.Color = xlNone
End If
Next
ws.Protect
Next
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige