Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Fenster fixieren / Bedingte Formatierungen





Frage

Hallo, ich habe zwei Fragen. 1. Gibt es eine Möglichkeit, in mehreren Tabellenblättern in einer Arbeitsmappe gleichzeitig die Fenster zu fixieren? Z. B. habe ich für jeden Monat ein Tabellenblatt, und alle sollen gleich fixiert werden. 2. Ähnliches Problem mit bedingten Formatierungen. Auf mehreren Tabellenblättern bräuchte ich bedingte Formatierungen, die nur dann z. B. rot-fett liefern sollen in Zelle C5, wenn eine bestimmte Zahl in Zelle D5 steht. Geht das irgendwie, dass ich diese bedingte Formatierung auf mehreren Blättenr gleichzeitig durchführen kann? Bei normalen Formeln funktionierts ja. Vielen Dank im Voraus MoRe99

Antwort 1 von Guenter

Hallo,

zu 1.


Option Explicit

Sub Makro1()
    Dim n%
    For n = 1 To Worksheets.Count
      Worksheets(n).Activate
      Rows("2:2").Select
      ActiveWindow.FreezePanes = True
    Next n
    End Sub


Das Makro läuft alle Tabellenblätter durch und fixiert die erste Zeile.

Gruß
Günter

Antwort 2 von coros

Moin,

die erste Frage hat Günther ja schon gelöst. Nachfolgender Code löst Deine 2. Frage. Kopiere den Code in das VBA Projekt "Deine Arbeitsmappe.

Private Sub Workbook_SheetChange(ByVal Sh As Object, _
ByVal Target As Range)
If Range("C5") = 10 Then
    Range("D5").Font.ColorIndex = 3
    Range("D5").Font.Bold = True
Else
    Range("D5").Font.ColorIndex = 0
    Range("D5").Font.Bold = False

End If
End Sub


In jedem Tabellenblatt wird der Eintrag in D5 fett und die Schriftfarbe rot, wenn in C5 eine 10 eingetragen wird. Wenn der Code auf eine ander Zahl reagieren soll al auf die 10, dann ändere die Zahl in der Zeile

If Range("C5") = 10 Then

gegen eine andere.

Da ich nicht weiß, ob Du Dich auch nicht mit VBA (Visual Basic) auskennst, kommt hier eine kurze Anweisung, wie Du den Code in Deine Tabelle bekommst.

1. Markiere die Anweisung aus diesem Beitrag und Kopiere (Strg c) diese.

2. Klicke in Deiner Exceldatei in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor oder drücke die Tastenkombination Alt F11

3. In dem neu geöffneten Fenster suche auf der linken Seite nach dem Eintrag VBA Projekt(Hier der Name Deiner Tabelle)

4. Klicke danach auf den Eintrag Diese Arbeitsmappe

5. Füge nun die vorher kopierte Anweisung in das rechte leere Fenster ein.

Du solltest zum Abschluss noch die Sicherheitseinstellung, die beim Öffnen der Datei abgefragt wird, kontrollieren. Klicke dazu nacheinander in der Menüleiste wieder auf Extras => Makro und dann auf Sicherheit.... Gehe, falls nicht schon angezeigt, auf die Registerkarte Sicherheitsstufe und schaue dort nach, ob die Einstellung Mittel aktiviert ist. Wenn nicht, aktiviere diese Einstellung, da sonst der Code nicht ausgeführt werden kann. Beim nächsten Öffnen Deiner Datei kommt eine Abfrage, ob Makros aktiviert oder deaktiviert werden sollen. Klicke auf aktivieren und der Code wird ausgeführt.

Ich hoffe, der Code hilft Dir wieter.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 3 von MoRe99

Hallo Günter, hallo coros,

erstmal danke für die Lösungsvorschläge. Mit VBA kenne ich mich leider fast gar nicht aus, von daher war die Anleitung von dir, coros, sehr passend. Momentan bin ich etwas knapp mit meiner Zeit, aber nach dem WE sollte ich dazu kommen, das ganze auszuprobieren. Werde mich dann wieder melden.

Eine (Nach-)Frage noch zu Günters Lösungsvorschlag mit dem Fixieren: wie muss ich den Code abändern, dass die ersten beiden Zeilen sowie die erste Spalte fixiert werden? Also die Zelle B3 soll die oberste linke Zelle sein, die nicht fixiert ist.

Gruß

MoRe99

Antwort 4 von Guenter

Hallo,

das geht dann so:


Option Explicit

Sub Makro1()
    Dim n%
    For n = 1 To Worksheets.Count
      Worksheets(n).Activate
      Range("B3").Select
      ActiveWindow.FreezePanes = True
    Next n
    End Sub


Gruß
GÜnter

Antwort 5 von want2cu

Hallo,

Frage 1 läßt sich nur mit VBA lösen. Dazu hast du ja schon Lösungen bekommen.

Frage 2 kann man aber auch ganz gut OHNE VBA lösen.
Markiere dazu einfach alle Tabellenreiter (Rechtsklick - alle Blätter markieren), dann gilt die bedingte Formatierung gleichzeitig für alle Tabellenblätter (so wie Einträge und Formeln ja auch).
Nur das Fenster-fixieren läßt sich auf diese Weise leider nicht realisieren.

CU
want2cu

Antwort 6 von MoRe99

Danke für die Änderung, damit die Fixierung richtig ist. Danke, Günter!

@ want2cu: seltsam, irgendwie bin ich der Meinung, dass dein Vorschlag zu 2. bei mir die ganze Zeit nicht klappte. Eben probiert, und es funktioniert. Muss ich aber mal mit meiner größeren Tabelle, um die es eigentlich geht, nach dem WE testen. Irgendwie klappte da was nicht; bin ich mir sicher. Mal schauen. Dennoch danke für deine Hinweise!