Microsoft Excel

Herbers Excel/VBA-Archiv

Hintergrundfarben auf mehreren Blättern auf eins k


Betrifft: Hintergrundfarben auf mehreren Blättern auf eins k
von: Stefan
Geschrieben am: 08.11.2018 10:37:14

Hallo liebe Leute,

ich habe ein kleines Problem mit dem kopieren von mehreren Hintergrundfarben von verschiedenen Blättern auf ein Blatt.
Wenn ich diesen Code anwende wird nur immer der letzte teil übernommen.
es sollen aber die Hintergrundfarben auf dem Blatt "gesamt" von allen Blättern erhalten bleiben _ und nur durch eine weitere Farbe ergänzt werden.

Sub Farben_kopieren()

  Dim rng As Range
  Application.ScreenUpdating = False
  For Each rng In Sheets("xy").Range("inhalt_x")
    Sheets("gesamt").Cells(rng.Row, rng.Column).Interior.ColorIndex = rng.Interior.ColorIndex
  Next
  
  For Each rng In Sheets("xyz").Range("inhalt_y")
    Sheets("gesamt").Cells(rng.Row, rng.Column).Interior.ColorIndex = rng.Interior.ColorIndex
  Next
 
End Sub

hoffe ich habe mich verständlich ausgedrückt.

  

Betrifft: AW: Hintergrundfarben auf mehreren Blättern auf eins k
von: hary
Geschrieben am: 08.11.2018 10:50:44

Moin
Es wird werden beide Teile ausgefuehrt, nur sind die Spalten Range("inhalt_x") und Range("inhalt_y") wahrscheinlich gleich. Also wird Teil 1 ausgefuehrt und durch Teil 2 uebermalt.
2 Farben in einer Zelle geht nicht.
Vorschlag: Mach fuer jedes Blatt eine Spalte.
gruss hary


  

Betrifft: AW: Hintergrundfarben auf mehreren Blättern auf eins k
von: Stefan
Geschrieben am: 08.11.2018 10:57:09

Die Blätter sind alle gleich ja, aber die Hintergrundfarben sind nicht auf der gleichen Zelle. In jedem Blatt ist eine andere Hintergrundfarbe auf einer anderen Zelle. Es ist ein Fahrplan für die Fahrer einer Firma.


  

Betrifft: AW:Probe mit F8 Taste
von: hary
Geschrieben am: 08.11.2018 11:06:44

Moin
Geh doch mal den Code im Einzelschritt durch(F8 Taste)
So kannst du im Gesamtblatt kontrollieren was wo gefaerbt wird.
Ansonsten mal eine Bsp.-Mappe hochladen.
gruss hary


  

Betrifft: AW: kann auch sein...
von: hary
Geschrieben am: 08.11.2018 11:18:32

Moin nochmal
..dass die Farben in verschieden Zellen sind, aber wenn eine Zelle im zweiten Blatt nicht gefaerbt ist das Gegenstueck auch *entfaerbt* wird.
Da hilft nur eine Pruefung ob die Zelle im Gesamtblatt schon gefaerbt ist.
gruss hary


  

Betrifft: AW: kann auch sein...
von: Stefan
Geschrieben am: 08.11.2018 11:25:14

http://www.herber.de/bbs/user/125260.xlsm

im ersten Blatt wird der Plan erstellt.
Im zweiten und im dritten Blatt werden die Zellen für die Fahrer makiert.
Im Blatt gesamt sollen alle Hintergrundfarben zusammengefasst werden.

Gruß Stefan


  

Betrifft: Beispieldatei_neu
von: Stefan
Geschrieben am: 08.11.2018 11:47:12

hier nochmal die Datei,

hab die Sub in Blatt gesamt eingefügt

http://www.herber.de/bbs/user/125261.xlsm


  

Betrifft: AW: probier mal
von: hary
Geschrieben am: 08.11.2018 12:01:47

Moin
Teste mal diesen Code. Klappert alle Blaetter ab, ausser Blatt"Plan" und Blatt"gesamt"

Sub Farben_kopieren()
Dim wks As Worksheet
Dim rng As Range, Zelle As Range
For Each wks In Worksheets
 If wks.Name <> "Plan" And wks.Name <> "gesamt" Then
   For Each Zelle In wks.Range("A5:A" & wks.Cells(Rows.Count, 1).End(xlUp).Row)
    With Sheets("gesamt").Cells(Zelle.Row, Zelle.Column)
     If .Interior.ColorIndex = xlNone Then 'pruefung ob keine Farbe
      .Interior.ColorIndex = Zelle.Interior.ColorIndex
     End If
    End With
   Next
 End If
Next
End Sub

gruss hary


  

Betrifft: AW: probier mal
von: Stefan
Geschrieben am: 08.11.2018 12:17:24

es klappt, super danke.

hab jetzt nur noch die Range geändert auf D5:E.

Nochmal DANKE für deine Hilfe, hast was gut bei mir