Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
680to684
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
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hintergrundfarbe ändern

Hintergrundfarbe ändern
11.10.2005 15:38:14
Karen
Hallo Ihr Excelkenner,
ich hab da ein kleines Problem. Ich möchte gern in meiner Unterrichtsplanung bei bestimmten Themen Farben vergeben. z.B. wenn in der Zelle "EDV" steht, soll die Hintergrundfarbe gelb sein, oder bei "Theorie" - grün.
Wer kann mir helfen. Ist bestimmt kein großes Hexenwerk, aber ich habe meinen Besen verloren. :-)
Danke
Karen

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hintergrundfarbe ändern
11.10.2005 15:51:22
Dagmar
Hallo Karen,
versuchs doch mal mit der bedingten Formatierung. Unter Menüpunkt Format. Bei Zellwert ist gleich EDV und dann die gewünschte Farbe angeben.
Gruß
Dagmar
AW: Hintergrundfarbe ändern
11.10.2005 16:07:58
Ralf
Hallo Dagmar,
mit bedingter Formatierung lassen sich nur 3 Fächer festlegen. Was dann beim 4.?
Ciao, Ralf
Besen, Besen, sei's gewesen...
11.10.2005 16:06:28
Ralf
Hallo Karen,
ich hab zwar auch keinen Besen, aber ich kenne die Hälfte des Zauberspruches. Füge diesen Code in das Modul des Arbeitsblattes ein, in welchem Du die Farbe ändern willst.
Option Explicit
Dim t$
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If t = "" Then t = Target.Address Select Case Range(t) Case "EDV" Range(t).Interior.ColorIndex = 6 Case "Mathe" Range(t).Interior.ColorIndex = 7 Case "Teutsch" Range(t).Interior.ColorIndex = 8 '...usw... End Select t = Target.Address End Sub
Ciao, Ralf
Anzeige
AW: Besen, Besen, sei's gewesen...
11.10.2005 16:46:28
Karen
Hallo Ralf,
das ist toll, wenn das über Makro funktioniert. Jetzt hab ich aber das Problem, dass ich in jede Tabelle, die ich neu bearbeiten will, das Teil einbauen muss. Da ich mit 1 Mio Formeln und Verknüpfungen arbeite, kann ich immer nur 1 Monat abbilden. D.h. ich muss für jeden Monat ein neues Dokument erstellen. Bisher habe ich ca. 50 Dokumente (verschiedene Orte auch noch). Gibt es vielleich auch noch eine einfachere Lösung?
Danke Karen
AW: Besen, Besen, sei's gewesen...
11.10.2005 17:12:13
Martin
Hallo Karen,
in den bestehenden Sheets mußt Du das Makro wohl von Hand einfügen. Sollte wohl aber weiter kein Problem sein. Für die Zukunft bau Dir eine XL-Vorlage, die das Makro enthält! Das Makro wird jedes Mal vererbt, wenn auf der Basis der Vorlage eine neue Datei erstellt wird.
Viel Spaß!
Anzeige
AW: Besen, Besen, sei's gewesen...
11.10.2005 17:18:29
Ralf
Hi Karen,
es ist wie immer. Es gibt mehr als nur eine Lösung. Allen gemeinsam ist, Du erstellst ein neues Standardmodul. Dort fügst Du folgenden Code ein:
Sub Farben_ändern()
Dim lz$, Zelle, Bereich$
lz = ActiveSheet.Cells.SpecialCells(xlLastCell).Address(False, False)
Bereich = "A1:" & lz
For Each Zelle In Range(Bereich)

Select Case Zelle
Case "EDV"
Zelle.Interior.ColorIndex = 6
Case "Mathe"
Zelle.Interior.ColorIndex = 7
Case "Teutsch"
Zelle.Interior.ColorIndex = 8

End Select

Next
End Sub
Lösche noch den gesamten Code von vorhin.
Jetzt kannst Du das Makro über seinen Namen (Farben_ändern) aufrufen oder es über ein Ereignis ausführen lassen. Beispielsweise im Modul von 'Diese Arbeitsmappe' folgenden Code einfügen:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Farben_ändern End Sub
Dann wird für das gerade aktuelle Blatt das Makro bei jedem Speichervorgang ausgeführt (z:Bsp. bei Klick auf das Speichern-Symbol). Wenn das soweit ok für Dich ist? Man kann natürlich auch alle Mappen auf einmal durchlaufen lassen. Ach, das machen wir auch gleich...:-)
Also, kleine Änderung:
Sub Farben_ändern()
Dim lz$, Zelle, Bereich$, iAnzBl%, x%
iAnzBl = ActiveWorkbook.Sheets.Count
For x = 1 To iAnzBl
lz = Sheets(x).Cells.SpecialCells(xlLastCell).Address(False, False)
Bereich = "A1:" & lz

For Each Zelle In Sheets(x).Range(Bereich)

Select Case Zelle
Case "EDV"
Zelle.Interior.ColorIndex = 6
Case "Mathe"
Zelle.Interior.ColorIndex = 7
Case "Teutsch"
Zelle.Interior.ColorIndex = 8

End Select

Next
Next x
End Sub
Anzeige
AW: Besen, Besen, sei's gewesen...
11.10.2005 17:57:11
Karen
Hallo Ralf,
irgendwie komme ich doch nicht klar, liegt wahrscheinlich an meinem Schnupfen. Hier eine Miniversion meiner Tabelle. Vielleicht blickst du, wo mein Fehler liegt.
https://www.herber.de/bbs/user/27400.xls
Danke Karen
AW: Besen, Besen, sei's gewesen...
11.10.2005 18:27:30
Ralf
Hi Karen,
muss Dich um einen kleinen Augenblick Geduld bitten. Wenn ich jetzt nicht losziehe und schnell noch was einkaufe, dann sieht es heute abend trübe für mich aus. Zwischendurch kannst Du mir ja ein paar Fragen beantworten.
1. Es betrifft also nur die Blätter, die mit KW beginnen?
2. Pro Tabelle ein Jahr?
3. Darin nur die Spalten H bis P in Zeile 7 beginnend?
4. Sind es mehrere Dateien?
5. Alle im gleichen Ordner?
5a. Wo zum Kuckuck liegt Esslingen?
Bis gleich, Ralf
Anzeige
AW: Besen, Besen, sei's gewesen...
11.10.2005 18:42:52
Karen
Hallo Ralf,
hier die Beantwortung deiner Fragen:
1. Es betrifft also nur die Blätter, die mit KW beginnen?
ja
2. Pro Tabelle ein Jahr?
pro Monat
3. Darin nur die Spalten H bis P in Zeile 7 beginnend?
ja
4. Sind es mehrere Dateien?
ja
5. Alle im gleichen Ordner?
nein, Netzwerk, V:\Daten\2Lehrgangs- und Seminarplanung\01\Stuttgart\Planung Göppingen
ist nur ein Ordner. Hauptverzeichnis ist 2Lehrgangs- und Seminarplanung
5a. Wo zum Kuckuck liegt Esslingen?
in der Nähe von Stuttgart (Landeshauptstadt von Baden-Württemberg)
Danke
Karen
Anzeige
AW: Besen, Besen, sei's gewesen...
11.10.2005 21:11:16
Matthias
Hallo Karen,
nachdem Ralf wohl noch isst, wollte ich mal dessen gute Vorarbeit ausnutzen und einen weiteren anderen Lösungsvorschlag anbringen.
Ich nutze dazu das Ereignis Workbook_SheetChange, das bei jeder Änderung einer Zelle in der Mappe ausgelöst wird.
Dann frage ich den Tabellenblattnamen sowie den geänderten Bereich ab. Wurde im überwachten Bereich etwas geändert, suche ich den (per Formel) rechts davon erscheinenden Begriff in der Tabelle "Daten1" in den Spalten B bis H. Wurde er gefunden, lese ich die (von dir noch einzutragende) Zahl rechts neben dem Begriff im Blatt Daten1 aus und nehme diesem als Colorindex für den Hintergrund.
Der Code (muss in "DieseArbeitsmappe"):

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Ueberwache As Range, ber As Range
Dim suchrng As Range
'beginnt Blatt mit "KW"?
If Left(Sh.Name, 2) = "KW" Then
'Überwachungsbereich definieren
Set Ueberwache = Union(Sh.Range("G7:G46"), _
Sh.Range("I7:I46"), _
Sh.Range("K7:K46"), _
Sh.Range("M7:M46"), _
Sh.Range("O7:O46"))
'ber = Schnittmenge aus geänderten Zellen und Überwachungsbereich
Set ber = Intersect(Ueberwache, Target)
'ber nicht leer?
If Not ber Is Nothing Then
'Durchlaufe ede Zelle in "ber"
For Each z In ber
'Such in Daten1!B:H nach danebenstehendem Begriff
Set suchrng = Sheets("Daten1").Range("B:H").Find(What:=z.Offset(0, 1).Text)
'nicht gefunden, dann ohne Hintergrundfarbe
If suchrng Is Nothing Then
z.Offset(0, 1).Interior.ColorIndex = xlColorIndexNone
'Eintrag rechts des Suchbegriffs leer, dann auch ohne Hintergrundfarbe
ElseIf suchrng.Offset(0, 1) = "" Then
z.Offset(0, 1).Interior.ColorIndex = xlColorIndexNone
'sonst: Hintergrundfarbindex = Zahl neben gefundenem Begiff
Else
z.Offset(0, 1).Interior.ColorIndex = Val(suchrng.Offset(0, 1))
End If
Next z
End If
End If
End Sub

Dein Blatt "Daten1" sähe dann so aus (Ausschnitt):
 
 DEF
1Nr.Ressource 
21EDV19
32Stapler12
43Werkstatt13
54Übungslager14
65LKW15
76Theorie16
87  
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß Matthias
Anzeige
AW: Besen, Besen, sei's gewesen...
11.10.2005 21:25:19
Karen
Hallo Matthias,
mit VBA kenne ich mich noch gar nicht aus. Ich kenne zwar inzwischen eine Menge Formeln und kann mir so weiterhelfen, aber wie soll ich genau vorgehen?
Danke Karen
AW: Besen, Besen, sei's gewesen...
11.10.2005 21:43:12
Matthias
Hallo Karen,
Öffne deine Mappe und drücke Alt+F11. Damit öffnest du den VB-Editor. Links siehst du den Projektexplorer mit einer Baumstruktur, in der alle offenen Mappen und die zugehörigen Module angezeigt werden. Du siehst den Eintrag "DieseArbeitsmappe"? Doppelklicke darauf und du siehst recht im Codefenster den Code des Abreitsmappenmoduls. Das Fenster ist in einer neuen Mappe erst einmal leer, es steht höchstens oben "Option Explicit".
In dieses leere Fenster kopierst du den Code, den ich die gepostet habe.
Dann VB-Editor wieder schließen und schauen, was passiert...
Viel Glück,
Matthias
Anzeige
AW: Besen, Besen, sei's gewesen...
11.10.2005 21:46:19
Ralf
Hi Matthias,
bist fleissig gewesen! Und besser lesen kannst Du auch...;-) Aber ich war nicht nur shoppen, sondern hab auch noch einen Lösungsansatz mit Rotwein vorbereitet. Also nicht böse sein wenn ich den hier noch dranhänge (nur den Ansatz).
Hi Karen,
unter https://www.herber.de/bbs/user/27407.zip findest Du meinen Ansatz, der natürlich noch angepasst werden muß. Im Prinzip musst Du nur die Datei Karen.xls in Dein Hauptverzeichnis kopieren. Der Rest dient nur zur Demonstration. Diese Datei (Karen.xls) startest Du dann immer. In Spalte A werden automatisch alle Dateien dieses Ordners, inklusive der Unterordner als Hyperlink eingetragen. Zum Start einer Datei Deiner Wahl einfach auf den betreffenden Hyperlink klicken. Jetzt kannst Du Deine Datei bearbeiten und schliessen. Du kommst zurück zur Karen.xls. Wenn Du diese Datei speicherst, werden in der gerade bearbeiteten Datei die gewünschten Änderungen vorgenommen und ebenfalls gespeichert. Du musst jedoch nach jeder geänderten Datei die Karen.xls speichern. Ich hätte auch alle Dateien automatisch durchlaufen lassen können, aber das dauert dann eben länger. Falls Dich das nicht stört, kann ich das noch ändern.
Was noch?
Im Modul von 'Diese Arbeitsmappe' musst Du in der Prozedur 'Farben_ändern' noch die nötigen Anpassungen für die einzelnen Fächer vornehmen. Ich hab die Stelle mit einem Kommentar (grüner Text) gekennzeichnet.
Das war es eigentlich auch schon.
Ach ja, Esslingen, vielleicht bin ich sogar schon mal dran vorbeigefahren. Sindelfingen, Böblingen, Esslingen, Theo Lingen... nette Ecke da unten!

Ciao, Ralf
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige