Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

aktuelle Zelle mit blinkendem Rahmen

Forumthread: aktuelle Zelle mit blinkendem Rahmen

aktuelle Zelle mit blinkendem Rahmen
MB
Hallo zusammen,
ich möchte beim Wechsel des Tabellenblatts einen bestimmten Zellbereich mit einem blinkenden Rahmen umgeben. Ist das möglich? wenn ja, was funktioniert so etwas?
Besten Dank im Voraus!
Liebe Grüße aus Schwabach
Michael
Anzeige
Nein, blinkender Rahmen nicht möglich
19.04.2010 22:06:58
NoNet
Hallo Michael,
einen blinkenden Rahmen gibt es in Excel (eigentlich) nicht.
Du könntest allenfalls per VBA im 1-Sekunden-Takt den Rahmen um den Bereich setzen bzw. entfernen, aber das ist nicht sonderlich elegant und "Excel-like" !
Gruß, NoNet
Anzeige
AW: Nein, blinkender Rahmen nicht möglich
19.04.2010 22:58:26
MB
Hallo NoNet,
lässt sich vielleicht eine anderweitige Markierung (z. B. fetter Rahmen) realisieren? Ich möchte beim Aufrufen einer Tabelle das aktuelle Datum suchen und einen dazugehörigen Bereich hervorheben.
Nochmals besten Dank im Voraus!
Liebe Grüße aus Schwabach
Michael
und bedingte Formatierung ... ?
19.04.2010 23:40:41
Matthias
Hallo
Zitat:
Ich möchte beim Aufrufen einer Tabelle das aktuelle Datum suchen und einen dazugehörigen Bereich hervorheben.
Das könntest Du doch evtl. mit der bedingten Formatierung hervorheben.
Ein kleines Beispiel wäre schon besser, in dem Du die Bereiche mal aufzeigst, die bei Dir
ebenfalls hervorgehoben werden sollen.
Ein Nachbau sieht immer anders aus als Deine Orginaldatei. Deshalb nur mal so als Grund-Idee
Userbild
Gruß Matthias
Anzeige
AW: und bedingte Formatierung ... ?
20.04.2010 10:56:07
MB
Hall Matthias,
danke, bedingte Formatierung ist nicht möglich. Es sind schon alle drei Bedingungen für die Formatierung belegt. Damit werden Wochentage, Wochenenden und Feiertage durch unterschiedliche Hintergründe gekennzeichnet.
Der Bereich um das aktuelle Datum soll jetzt noch einen weißen Rahmen erhalten.
Danke für den Tipp!
Liebe Grüße aus Schwabach
Michael
Anzeige
AW: aktuelle Zelle mit blinkendem Rahmen
20.04.2010 08:41:25
Michael
Hallo Namensvetter,
hier mal ein Beispiel für VBA:

'Bereiche ggf. anpassen
'aktuelles Datum in A1, Bereich B1:E1
'Dieser Code in Tabelle2:
Option Explicit
Private Sub Worksheet_Activate()
If Range("A1").Value = Date Then rahmenAn
End Sub
Private Sub Worksheet_Deactivate()
blinkAus
End Sub
'Dieser Code in ein Modul:
Option Explicit
Public ET As Variant
Sub rahmenAn()
With Range("B1:E1").Borders
.LineStyle = xlContinuous
.Weight = xlMedium
End With
ET = Now + TimeValue("00:00:01")
Application.OnTime ET, "rahmenAus"
End Sub
Sub rahmenAus()
Range("B1:E1").Borders.LineStyle = xlNone
ET = Now + TimeValue("00:00:01")
Application.OnTime ET, "rahmenAn"
End Sub
Sub blinkAus()
On Error Resume Next
Application.OnTime EarliestTime:=ET, Procedure:="rahmenAn", Schedule:=False
Application.OnTime EarliestTime:=ET, Procedure:="rahmenAus", Schedule:=False
ET = ""
End Sub
Grüße
Michael
Anzeige
AW: aktuelle Zelle mit blinkendem Rahmen
20.04.2010 11:10:49
MB
Hallo Michael,
recht herzlichen Dank! Ich denke, ich kann so grob nachvollziehen was passiert.
Mal schauen, wie ich das umsetzen kann. Vor allem mit den öffentlichen Funktionen habe ich immer so meine liebe Not.
Im Grunde habe ich einen Urlaubsplaner aufgebaut, in dem in Zeilen die Tage 1 - 31 stehen und in Spalten die Monate. Beim aktivieren des Blattes will ich nun den Rahmen um die Zelle mit dem aktullen Datum, also in der Zeile mit dem Tag und der Spalte mit dem Monat ziehen.
Vielleicht hast Du ja noch eine kurze Hilfe zur Ermittlung des Bereiches, steht in Deinem Beispiel ja im Modul. Wie gesagt, bei den öffentlichen Funktionen scheitere ich meist sogar noch beim "nachbauen".
Nochmals besten Dank!
Liebe Grüße aus Schwabach
Michael
Anzeige
AW: aktuelle Zelle mit blinkendem Rahmen
20.04.2010 16:00:53
Michael
Hallo Michael,
sorry für die verspätete Antwort, war kurz aushäusig...
Also, der Bereich wird im Activate Ereignis des Tabellenblattes definiert, in dem der Urlaubsplaner ist.
In meinem Beispiel "Tabelle1". hier müssen die beiden "Aufruf" Makros rein (Activate, Deactivate):

Option Explicit
Private Sub Worksheet_Activate()
Dim rngMonat As Range 'Variable für die Spalte mit dem aktuellen Monat
Set rngMonat = Cells.Find(Format(Date, "MMMM")) 'aktueller Monat wird gesucht und in die  _
Variable geschrieben
Set rngTag = Cells.Find(Format(Date, "DD"), rngMonat) 'innerhalb der Spalte rngMonat (aktueller  _
Monat) wird der heutige Tag gesucht
rahmenAn 'Prozedur zum blinken wird gestartet
End Sub
Private Sub Worksheet_Deactivate()
blinkAus 'alles ausschalten
End Sub
Dann fügst Du deinem Proj>ekt ein Modul zu und kopierst diese Makros da rein:

Option Explicit
Public rngTag As Range 'Globale Variable für die Zelle mit dem aktuellen Tag
Public ET As Variant  'Globale Variable für die Zeit fürs blinken
Sub rahmenAn()
With rngTag.Borders
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 3
End With
ET = Now + TimeValue("00:00:01")
Application.OnTime ET, "rahmenAus"
End Sub
Sub rahmenAus()
With rngTag.Borders
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 15
End With
ET = Now + TimeValue("00:00:01")
Application.OnTime ET, "rahmenAn"
End Sub
Sub blinkAus()
On Error Resume Next
Application.OnTime EarliestTime:=ET, Procedure:="rahmenAn", Schedule:=False
Application.OnTime EarliestTime:=ET, Procedure:="rahmenAus", Schedule:=False
ET = ""
End Sub
Nun wird bei jedem "betreten" der Tabelle1 das Makro "rahmenAn" gestartet und zieht einen dünnen, roten Rahmen um die Zelle und startet 1 Sekunde später das Makro "rahmenAus". In diesem Makro wird dann der Rahmen mit der Farbe grau gezogen.
Bei "verlassen" der Tabelle wird das "Blinken" beendet.
Falls Du noch Fragen hast, dann poste einfach.
Grüße
Michael
Anzeige
AW: aktuelle Zelle mit blinkendem Rahmen
20.04.2010 18:07:38
MB
Hallo Michael,
ich bin schwer beeindruckt - danke schön!
Der Rahmen blinkt schon, leider nur an der falschen Stelle. Da hab ich einen Fehler in der Beschreibung. Ich hatte vergessen zu erwähnen, das jeder Monat mehrere Spalten (11 insgesamt, 1 für Wochentag, 1 für ggf. Feiertag und 9 zum Eintragen der Kollegen) hat und der Monat in einer verbundenen Zelle steht.
Ich hab jetzt schon rumprobiert, aber die richtige "Schreibweise" von Bereichen oder ähnlichen ist mein ganz großes Problem. Also werd ich weiter probieren.

Set rngTag = Cells.Find(Format(Date, "DD"), rngMonat) 'innerhalb der Spalte rngMonat (aktueller Monat) wird der heutige Tag gesucht

Den Monat findet Excel, aber für rngTag findet Excel immer den 15.01.2010.
Verstehe ich das richtig, dass in jeder Monatsspalte auch die Zahlen für die Tage stehen müssten? Ich habe nämlich nur eine Spalte vorneweg mit den Tagen 1 - 31, danach folgen immer die Spaltenkombinationen unter den Monatsnamen (Wochentag, ggf. Feiertag und die Kollegen).
Hast Du da nocheinmal einen Tipp für mich, wie ich die Suche nach der richtigen Zeile / Spalte anstellen muss.
Ich muss mal schauen, das ich von zu Hause eine Beispieldatei hochladen kann.
Für Deine Hilfe jedenfalls besten Dank,
liebe Grüße aus Schwabach
Michael
Anzeige
AW: aktuelle Zelle mit blinkendem Rahmen
21.04.2010 08:02:34
Michael
Hallo Michael,
das ändert natürlich einiges :-)
Durch die verbundenen Zellen findet er den richtigen tag nicht, aber wenn die Tage nur in Spalte A stehen....
Am besten lädst Du mal eine Beispiel Mappe hoch, dann ist es für alle helfenden einfacher.
Ich stell die Frage nochmal auf "offen", vielleicht hat jemand direkt schon ne Idee.
Ich warte derweil auf die Beispielmappe.
Grüße
Michael
P.S. bin aber nun aushäusig und erst nach Mittag wieder zurück.
Anzeige
AW: aktuelle Zelle mit blinkendem Rahmen
23.04.2010 09:45:50
MB
Hallo,
ja, da fehlen mir halt oft noch die Zusammenhänge und damit der Blick für das Wichtige. Aber ich lerne!
Ich war zwei Tage unterwegs und muss jetzt die zwei Tage wieder reinholen. Aber am Wochenende werde ich mal eine Beispielmappe hochladen.
Danke für die Hilfen!
Liebe Grüße aus Schwabach
Michael
Anzeige
AW: aktuelle Zelle mit blinkendem Rahmen
25.04.2010 15:35:05
MB
Hallo Michaell,
ich habe jetzt mal eine Beispieldatei hochgeladen:
https://www.herber.de/bbs/user/69237.xls
In der Ursprungsdatei habe ich die einzelnen Zellen noch mit bedingter Formatierung gehübscht bzw. gegliedert. Die Wochenenden und Feiertage werden z. B. mit Hilfe von bedingten Formatierungen farbig abgehoben. In der Beispieldatei habe ich nur den Januar und den Februar mal manuell so formatiert.
In den einzelnen Spalten unter den Monatsnamen stehen in der ersten Spalte immer die Wochentage, die zweite Spalte gibt an, ob es sich bei dem Tag um einen Feiertag handelt. Die folgenden 9 Spalten sind für die verschiedenen Kollegen. In den Spalten stehen Kürzel für bestimmte Fehlzeiten (z. B. Urlaub, Zeitabbau etc.). Die Informationen kommen per Formel aus den veschiedenen Erfassungstabellen.
Falls Du noch eine Idee hast, wie ich Deinen Code unter den "geänderten" Voraussetzungen zum Laufen bringe, wäre ich Dir sehr dankbar. Natürlich auch allen anderen Tippgebern!
Liebe Grüße aus Schwabach
Michael
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Aktuelle Zelle mit blinkendem Rahmen in Excel


Schritt-für-Schritt-Anleitung

Um eine aktuelle Zelle in Excel mit einem blinkenden Rahmen zu versehen, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Füge den folgenden VBA-Code in das Modul ein:

    Option Explicit
    Public rngTag As Range
    Public ET As Variant
    
    Sub rahmenAn()
       With rngTag.Borders
           .LineStyle = xlContinuous
           .Weight = xlThin
           .ColorIndex = 3
       End With
       ET = Now + TimeValue("00:00:01")
       Application.OnTime ET, "rahmenAus"
    End Sub
    
    Sub rahmenAus()
       With rngTag.Borders
           .LineStyle = xlContinuous
           .Weight = xlThin
           .ColorIndex = 15
       End With
       ET = Now + TimeValue("00:00:01")
       Application.OnTime ET, "rahmenAn"
    End Sub
    
    Sub blinkAus()
       On Error Resume Next
       Application.OnTime EarliestTime:=ET, Procedure:="rahmenAn", Schedule:=False
       Application.OnTime EarliestTime:=ET, Procedure:="rahmenAus", Schedule:=False
       ET = ""
    End Sub
  4. Füge den folgenden Code in das Tabellenblatt ein, das Du verwenden möchtest (z. B. Tabelle1):

    Private Sub Worksheet_Activate()
       Dim rngMonat As Range
       Set rngMonat = Cells.Find(Format(Date, "MMMM"))
       Set rngTag = Cells.Find(Format(Date, "DD"), rngMonat)
       rahmenAn
    End Sub
    
    Private Sub Worksheet_Deactivate()
       blinkAus
    End Sub
  5. Teste dein Makro:

    • Aktiviere das Tabellenblatt und überprüfe, ob der Rahmen um die Zelle mit dem aktuellen Datum blinkt.

Häufige Fehler und Lösungen

  • Fehler: „Die Zelle mit dem aktuellen Datum wird nicht gefunden“:

    • Stelle sicher, dass das aktuelle Datum im richtigen Format in der Tabelle steht und dass die Zellen, in denen das Datum steht, nicht verbunden sind.
  • Fehler: „Das Makro läuft nicht“:

    • Überprüfe, ob die Makros aktiviert sind. Du kannst dies in den Excel-Optionen unter Trust Center und Trust Center-Einstellungen tun.
  • Fehler: „Blinken funktioniert nicht“:

    • Stelle sicher, dass Du den richtigen Code in das entsprechende Modul eingefügt hast.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du stattdessen:

  • Bedingte Formatierung verwenden: Auch wenn Du bereits Bedingungen belegt hast, kannst Du die Formatierung von Zellen anpassen, um wichtige Daten hervorzuheben.

  • Farben und Schriftarten ändern: Anstatt eines blinkenden Rahmens kannst Du die Hintergrundfarbe oder Schriftart der Zelle ändern, um die Aufmerksamkeit darauf zu lenken.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie das Blinken in einem Urlaubsplaner funktionieren kann:

  • Zellenstruktur: Spalte A enthält die Tage (1-31), während die nächsten Spalten die Monate darstellen. Die Zelle mit dem aktuellen Datum erhält den blinkenden Rahmen.

  • VBA-Code: Der oben angegebene Code wird verwendet, um den Rahmen um die Zelle mit dem aktuellen Datum zu aktivieren, wenn das Tabellenblatt aktiviert wird.


Tipps für Profis

  • Optimierung des Codes: Du kannst den Code weiter optimieren, um die Blinkgeschwindigkeit zu ändern, indem Du den TimeValue anpasst.

  • Verwendung von Farbvariablen: Anstatt feste Farben zu verwenden, kannst Du Variablen für die Rahmenfarben definieren, um die Anpassung zu erleichtern.

  • Fehlerprotokollierung: Implementiere eine einfache Fehlerprotokollierung, um eventuelle Probleme beim Ausführen des Makros leichter zu identifizieren.


FAQ: Häufige Fragen

1. Wie kann ich die Blinkgeschwindigkeit anpassen? Um die Blinkgeschwindigkeit zu ändern, passe den Wert in TimeValue("00:00:01") an. Zum Beispiel TimeValue("00:00:02") für zwei Sekunden.

2. Kann ich das Makro auch für andere Zellen verwenden? Ja, passe einfach den rngTag-Bereich im Code an, um andere Zellen zu berücksichtigen.

3. Funktioniert dieses Tutorial in allen Excel-Versionen? Der VBA-Code sollte in den meisten modernen Excel-Versionen (Excel 2010 und später) funktionieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige