Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1572to1576
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
Inhaltsverzeichnis

Übernahme vom Zellenformat

Übernahme vom Zellenformat
11.08.2017 10:34:42
Bastian
Hallo Zusammen,
ich komme leider bei meiner Excel-Tabelle nicht weiter und bräuchte ein wenig Unterstützung...
Hintergrund: In meinem Excel-File befinden sich mehrere Tabellenblätter, eins davon ist der "Master" in dem die Daten gepflegt werden. Die anderen Blätter greifen mit einem SVERWEIS auf Zellen zu und holen sich die entsprechenden Daten.
Problem: Wenn ich nun Daten im Master ändere, möchte ich mir die betroffene Zelle farbig _
hervorheben - zB Preis hat sich geändert - mache ich derzeit mit folgender Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target  AlterWert Then Target.Interior.ColorIndex = 3
End Sub

Funktioiert auch soweit!
Nun möchte ich aber auch diese farbige Markierung in den anderen Blättern sehen, wenn die Daten hier auftauchen.
Habe mir schon überlegt DUMMY-Spalten einzufügen, hierrüber einen Wert zu übergeben und wenn dieser Wert erfüllt ist, über eine bedingte Formatierung die Zellenfarbe zu verändern - ist für mich aber zu kompliziert.
Zur Veranschaulichung habe ich eine kleine Tabelle hinterlegt.
https://www.herber.de/bbs/user/115403.xlsx
Danke für Eure Unterstützung!!!
Viel Grüße,
Bastian

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen entspr. einfaerben
11.08.2017 10:56:13
hary
Moin
Versuch es mal so. Code in den Code vom Blatt "Master". Die Farbe bleibt aber immer drin. Evtl. vorher die Farben aus den Zellen entfernen.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wks As Worksheet
Dim a As Variant
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B2:B1000")) Is Nothing Then'--Bereich evtl. anpssen
Target.Interior.Color = vbRed
For Each wks In Worksheets
If wks.Name  "Master" Then
a = Application.Match(Target.Offset(, -1), wks.Columns(1), 0)
If IsNumeric(a) Then
wks.Cells(a, 2).Interior.Color = vbRed
End If
End If
Next
End If
End Sub

gruss hary
Anzeige
AW: Zellen entspr. einfaerben
11.08.2017 11:34:33
Bastian
Hallo Hary,
super Danke - für Spalte B funktioniert das einwandfrei! Kann ich irgendwie noch die anderen Spalten erschlagen?
Habe versucht den Bereich zu erweitern, eine Einfärbung passiert allerdings nicht :-/
Gruß,
Bastian
AW: Zellen entspr. einfaerben
11.08.2017 12:11:45
hary
Moin
Hier fuer SpalteB und C.
Dim wks As Worksheet
Dim a As Variant
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B2:B1000,C2:C1000")) Is Nothing Then
Target.Interior.Color = vbRed
For Each wks In Worksheets
If wks.Name  "Master" Then
a = Application.Match(Cells(Target.Row, 1), wks.Columns(1), 0)
If IsNumeric(a) Then
wks.Cells(a, IIf(Target.Column = 2, 2, 5)).Interior.Color = vbRed
End If
End If
Next
End If

gruss hary
Anzeige
AW: Zellen entspr. einfaerben
11.08.2017 12:22:54
Bastian
DANKE!!! Läuft super...
Ein letzte Frage: kannst du mir noch kurz erklären, wofür die "IIf(Target.Column = 2, 2, 5))" steht? Position der Spalten?
AW: Zellen entspr. einfaerben
11.08.2017 15:38:34
Bastian
Was ist, wenn ich noch eine dritte Spalte benötige? :)
AW: Zellen entspr. einfaerben
12.08.2017 08:44:21
hary
Moin
Genau
IIf(Target.Column = 2, 2, 5)

heisst: Wenn TargetSpalte gleich 2, dann Zielspalte 2, sonst Zielspalte 5
Bei noch mehr Spalten gibt es mehrere Moeglichkeiten. Hier mal eine davon.
Dim wks As Worksheet
Dim Zielspalte As Long
Dim a As Variant
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("B2:B1000,C2:C1000,E2:E1000")) Is Nothing Then'--Range  _
erweiterbar
Target.Interior.Color = vbRed
Select Case Target.Column '--Fallauswahl Target Spaltennummer
Case 2: Zielspalte = 2 '--wenn Targetspalte 2 also SpalteB dann ist die Zielspalte 2( _
SpalteB)
Case 3: Zielspalte = 5 '--wenn Targetspalte 3 also SpalteC dann ist die Zielspalte 5( _
SpalteE)
'--extra Bsp.-------------------------
Case 5: Zielspalte = 7 '--wenn Targetspalte 5 also SpalteE dann ist die Zielspalte 7( _
SpalteG)
'-------Case erweiterbar--------------
End Select
For Each wks In Worksheets
If wks.Name  "Master" Then
a = Application.Match(Cells(Target.Row, 1), wks.Columns(1), 0)
If IsNumeric(a) Then
wks.Cells(a, Zielspalte).Interior.Color = vbRed '--Zielspalte gemaess Select case( _
Fallauswahl)
End If
End If
Next
End If

gruss hary
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige