Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: Zellen farbig nach Vergleich mit Zellentext

VBA: Zellen farbig nach Vergleich mit Zellentext
21.09.2017 17:14:59
Daniel
Hallo Community.
Danke erstmal für die Aufnahme. Jetzt hab ich mich doch mal angemeldet. Dieses Forum hat mir schon sehr oft und gut geholfen. Doch jetzt komme ich an meine Grenzen.
Ich habe in Excel2007 einen Projektstrukturplan erstellt. Die Datei macht bereits:
- Mit CommundButton eine Kopie eines Arbeitsblattes (Template einer Arbeitspaketbeschreibung (Apb))
- Link in die Zelle zum neuen Arbeitsblatt
- Zelle nach Erstellung der Apb gelb färben (für in Arbeit)
- Userform nicht aufrufen zur Erstellung der Apb aber MsgBox wenn falsche Zelle angewählt. Soweit so gut.
Jetzt mein Problem:
*Abp_111 ist Beispiel-Tabellenblatt*
In den Arbeitsblättern der Apb gibt es in Zelle F15 das Ist-Datum. Die Position des Datum ist immer gleich. Der jetzige Code färbt die Zelle im Projektstrukturplan (PSP), erstes Tabellenblatt, mit dem Arbeitspaket-Titel grün (für erledigt).
##############
Public Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If ActiveSheet.Cells(15, 6).Text = Format(Date) Then
Worksheets("PSP").Cells(11, 4).Interior.Color = 5296274
End If
End Sub

##############
Ich möchte aber gerne, dass er den Zelleninhalt A7 (also Arbeitspaket-Titel) in den Arbeitsblättern Abp_... mit dem Zelleninhalt aus dem Tabellenblatt PSP vergleicht. Er soll sozusagen den Bereich in PSP nach dem gleichen Text absuchen wie in Blatt Abp_111.
Ich hoffe Ihr könnt mir helfen. Herzlichen Dank vor ab und liebe Grüße aus Berlin
https://www.herber.de/bbs/user/116433.xlsm

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Zellen farbig nach Vergleich mit Zellentext
23.09.2017 13:45:08
Christian
Hallo Daniel,
ein Ansatz:
Option Explicit
Sub StatusAktualisieren()
Dim wks As Worksheet
Dim strPaket As String
Dim datDate As Date
Dim i As Long, j As Long
Dim blnFnd As Boolean
Dim vntCols()
' Spalten in Tabelle "PSP" mit Paket-Einträgen
vntCols = Array(4, 11, 18)
With ThisWorkbook.Sheets("PSP")
' Farben in Zeile 11 bis 60 (hier als Bsp) löschen
For j = 0 To UBound(vntCols)
.Cells(11, vntCols(j)).Resize(50).Interior.Color = xlNone
Next
' Farben neu setzen
For Each wks In ThisWorkbook.Worksheets
If wks.Name  "PSP" Then
strPaket = wks.Cells(7, 1)
datDate = wks.Cells(15, 6)
blnFnd = False
If datDate 
Gruß
Christian
Anzeige
AW: VBA: Zellen farbig nach Vergleich mit Zellentext
25.09.2017 10:44:50
Daniel
Hallo Christian.
Danke für Deine Antwort. Das funktioniert so aber leider nicht ganz. Den Code wo er vorher alle Zellen wieder farblos macht habe ich rausgenommen, da dies nicht passieren darf. Gelb signalisiert, dass es eine Arbeitspaketbeschreibung gibt, bei meht als 40 wird es zu unübersichtlich sich durch einzelne Tabellenblätter zu suchen. Der nächste Fehler ist, dass sich die Zelle in Tabelle "PSP" in jedem Fall grün färbt, egal welche Zelle ich in der Arbeitspaketbeschreibung ändere. Aber die richtige Zelle in PSP nimmt er schon mal. Tabelle "PSP" darf nur auf die Eingabe in Zelle F15 bei Abp_... mit Datumeingabe reagieren.
Anzeige
AW: VBA: Zellen farbig nach Vergleich mit Zellentext
25.09.2017 12:58:58
Christian
Hallo Daniel,
das Bsp. habe ich als eigenständiges Makro (Sub-Prozedur) erstellt, da es nach meiner Erfahrung Sinn macht, solche Aktionen nicht über Ereignisse wie "Workbook_SheetChange" zu steuern, denn dabei würde bei jeder Aktivierung eines anderen Tabellenblatts der Code ausgeführt werden - und jeweils auch der Zwischenspeicher gelöscht.
Daher schlage ich vor, im Blatt "PSP" die Aktualisierung über eine Button auszuführen.
Wenn du weitere Bedingungen wie "Gelb bei ..." gibt, dann kannst du meinen Code ja entsprechend erweitern.
Ich empfehle dringend, dabei erst mal per Code alle Farben zu löschen und anschließend neu zu erstellen. Andernfalls müsstest du ja die jeweilige Farbe auslesen und prüfen, ob diese deinen Kriterien entspricht, ...
Da ist ist doch sehr viel einfacher und effizienter, alle vorhandenen Farben zu löschen und anschließend deinen Regeln entsprechend neu zu setzen.
Grüße
Christian
Anzeige

343 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige