Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
624to628
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
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen einfärben: Makro auf anderes Blatt beziehen

Zeilen einfärben: Makro auf anderes Blatt beziehen
17.06.2005 12:03:00
Daniel
Hallo Leute,
ich möchte eine komplette Zeile einfärben wenn in einer Zelle etwas bestimmtes steht. Der Harald hat mir folgendem Makro schon super geholfen. Leider beziehen sich die Werte dieser Zellen auf ein anderes Blatt. Somit funktioniert das Makro so nicht. Kann man in diesem Makro ebenfalls einen Bezug zu einem anderen Blatt herstellen?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer, farbe As Integer
If Target.Column > 1 Then Exit Sub
For i = 1 To 100
Select Case Cells(i, 1)'für Zellen A1:A100
Case "Mechaniker"
farbe = 35
Case "Techniker"
farbe = 3
Case "Meister"
farbe = 4
Case "HW"
farbe = 5
Case Else
farbe = xlNone 'wenn keine Übereinstimmung
End Select
With Cells(i, 1) 'Trefferzelle in Spalte 1 = A
.Interior.ColorIndex = farbe
End With
Next i
End Sub

Gruß
Daniel

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bitte helft mir :)
17.06.2005 12:32:06
Daniel
Bitte hilft mir jemand :)
Danke
AW: Zeilen einfärben: Makro auf anderes Blatt bezi
17.06.2005 12:34:18
Rocky
hallo würd dir gern helfen doch ich versteh nicht genau was du willst?
auf welchen Tabellenblatt (sheet) steht was?
oder willst du es in jeder Datei verwenden können?
werd genauer dann werd ich es auch!
gruß Rocky
AW: Zeilen einfärben: Makro auf anderes Blatt bezi
17.06.2005 12:40:51
Daniel
Danke Rocky für Dein Angebot.
Also ich habe ein "Tabellenblatt 1" in das man Mitarbeiter einträgt.
Z.B
Spalte A ---- Spalte B
Maier Franz-- Mechaniker
Schuster----- HL
Durch einen Bezug erscheint diese Tabelle genau so im "Tabellenblatt 2". Auf diesem Blatt sollen alle Zeilen in je nach Funktion (Mechaniker, HL...) eine Farbe erhalten (z.B. Alle Zeilen in denen "Mechaniker" steht sollen blau werden.
Mit der o.g. Lösung (Makro) funktioniert das ganz gut allerdings nur, wenn man die Werte manuell eingibt, da sich diese ja auf das "Tabellenblatt 1" beziehen.
Danke schon mal
Daniel
Anzeige
AW: Zeilen einfärben: Makro auf anderes Blatt bezi
17.06.2005 12:51:32
Uduuh
Hallo,
reagiert auf Änderung in Tab1, B und färbt in Tabelle2 die gleiche Zeile (A-H) entsprechend ein.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim  farbe As Integer
If Target.Column <> 2 Then Exit Sub
Select Case Target
Case "Mechaniker"
farbe = 35
Case "Techniker"
farbe = 3
Case "Meister"
farbe = 4
Case "HW"
farbe = 5
Case Else
farbe = xlNone 'wenn keine Übereinstimmung
End Select
Sheets("Tabelle2").Range(Cells(target.row, 1),Cells(target.row,8)).Interior.ColorIndex = farbe
End Sub

Gruß aus’m Pott
Udo

Anzeige
AW: Zeilen einfärben: Makro auf anderes Blatt beziehen
17.06.2005 12:41:40
Uduuh
Hallo,
erstens denke ich, dass selectionchange falsch ist, da der code immer ausgelöst wird, wenn du die Markierung verschiebst.
Zweitens verstehe ich nicht so ganz, was du willst. Soll, wenn sich auf Blatt 1 was ändert, auf Blatt 2 gesucht und eingefärbt werden?
Gruß aus’m Pott
Udo

@Uduuh
17.06.2005 12:59:19
Harald
Hallo Udo,
siehe auch Thread um 10:57 Uhr.
Den Code hab ich in der Grundstruktur aus dem hiesigen Archiv und hab ihn -abgewandelt- Daniel als Lösung angeboten. Keine Ahnung, warum er einen neuen Thread aufmacht.
Na egal.
Da ich einen ähnlichen Code auch nutze, möchte nur wissen, warum Selection_Change für diese Sache die schlechtere Wahl ist.
Vielleicht mit Intersect arbeiten ?
Aufgefallen ist mir auch, dass er in der With Anweisung auch nur eine Aufgabe richtig erledigt.
z.B. erhalten hier alle Zellen im o.g. Bereich ne fette Schrift
With Cells(i, 1) 'Trefferzelle in Spalte 1 = A
.Interior.ColorIndex = farbe
.font.bold =true
End With
Kommt das von Case Else ?
Gruß
Harald
Anzeige
AW: @Harald
17.06.2005 13:06:36
Daniel
Hallo Harald,
ich hab mich nicht getraut Dich noch länger zu nerven. Hatte schon ein schlechtes Gewissen. Hab mir gedacht, dass das eine, zu meiner Lösung, unabhängiges Problem ist. Also ein VBA typisches. War ned bös gemeint :)
AW: @Harald
17.06.2005 13:14:34
Harald
Schon ok. Hab ich kein Problem mit, zumal Uduuh datt besser weiß als ich
;-)))
AW: @Uduuh
17.06.2005 13:21:29
Uduuh
Hallo Harald,
WorkSheet_SelectionChange ist ungünstig, weil der Code bei jeder Änderung der Auswahl anspringt. Er soll doch aber sicherlich nur ausgeführt werden, wenn sich was ändert. Deshalb WorkSheet_Change.
Gruß aus’m Pott
Udo

Anzeige
Habs mir schon gedacht. Thanx o.w.T
17.06.2005 13:28:45
Harald
Gruß
Harald
AW: Zeilen einfärben: Makro auf anderes Blatt bezi
17.06.2005 13:02:12
Rocky
hallo ich würds mal so probieren,
ist zwar leienhafter aber dürfte klappen
Dim i As Integer
Dim a As Integer
For i = 1 To 100
If Cells(i, 1) = "Mechanicker" Then Rows(i).Interior.ColorIndex = 35
If Cells(i, 1) = "Technicker" Then Rows(i).Interior.ColorIndex = 4
Next i 'die anderen analog
darüber hinaus würd ich mich dem Uduuh anschließen und es nicht mit change machen sondern hinter nen button legen!
gruß Rocky

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige