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
1812to1816
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

zuletzt geänderte Zellen farblich markie

zuletzt geänderte Zellen farblich markie
24.02.2021 11:50:39
Bernd
Hallo zusammen,
ich bin neu in diesem Forum und versuche mal hier nicht ganz so blöd zu schreiben.
Habe bisher mit vba noch keine Berührungspunkte gehabt und fange ganz neu an...
Zu meinem Problem:
Ich habe eine Spalte gefiltert und dort Einträge gesucht und ersetzt.
Nun möchte ich die geänderten Zellen noch farblich markieren...
Wie kann ich das noch in das Skript einbringen..
Columns("F:F").Select
Selection.Replace What:="31", Replacement:="87", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Selection.Replace What:="34", Replacement:="90", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Selection.Replace What:="32", Replacement:="88", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Office 365
Lieben Dank schon mal für eure Hilfe
Gruß
Bernd

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zuletzt geänderte Zellen farblich markie
24.02.2021 13:18:39
Nepumuk
Hallo Bernd,
teste mal:
Option Explicit

Public Sub Ersetzen()
    
    Dim avntArray As Variant
    Dim ialngIndex As Long
    Dim strFirstAddress As String
    Dim objCell As Range
    
    avntArray = Array(Array(31, 87), Array(32, 88), Array(34, 90))
    
    For ialngIndex = LBound(avntArray) To UBound(avntArray)
        
        Set objCell = Columns(6).Find(What:=avntArray(ialngIndex)(0), LookIn:=xlValues, LookAt:=xlWhole)
        
        If Not objCell Is Nothing Then
            
            strFirstAddress = objCell.Address
            
            Do
                
                With objCell
                    
                    .Value = avntArray(ialngIndex)(1)
                    
                    .Interior.Color = vbYellow
                    
                End With
                
                Set objCell = Columns(6).FindNext(After:=objCell)
                
            Loop Until objCell Is Nothing
        End If
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: zuletzt geänderte Zellen farblich markie
01.03.2021 08:13:03
Bernd
Hallo Nepumuk,
hat leider nicht funktioniert, schade. Vielleicht habe ich etwas falsch gemacht?
Wollte das Script einfach unten an die vorhandene Selektion (s.o) anhängen. Geht das überhaupt?
LG, Bernd
AW: zuletzt geänderte Zellen farblich markie
01.03.2021 09:19:09
Nepumuk
Hallo Bernd,
was habe ich mit unter: hat leider nicht funktioniert vorzustellen? Ich habe das getestet. Deinen Code darfst du dabei nicht verwenden, der tauscht ohne zu markieren und dann findet mein Code nichts mehr.
Gruß
Nepumuk
AW: zuletzt geänderte Zellen farblich markie
01.03.2021 10:41:13
Bernd
Hallo Nepumuk,
was habe ich mit unter: hat leider nicht funktioniert vorzustellen?
Ich sehe schon, ich habe es doch falsch verstanden....sorry.
Ich dachte, ich könnte deinen Code einfach unten dran hängen... wie gesagt, ich bin hier absoluter Neuling...
Hintergrund ist, dass ich eine Spalte zunächst nach verschiedenen Kriterien selektieren möchte und die dort gefundenen Werte gegen neue Werte austauschen will. Soweit der Code-Block von mir oben...
Im Anschluss daran, wollte ich diese geänderten Werte farblich markieren, bevor ich die Kriterien in der gleichen Spalte ein weiteres mal selektiere (neue Werte) und ändere..
Ich hatte vermutet, dass ich den Code-Block von dir einfach unten dran hängen könnte.
Das hatte ich gemeint mit, hat leider nicht funktioniert...
Gibt es eine Möglichkeit die farbliche Änderung direkt unten an die erste Selktion zu hängen?
LG und Danke für deine Hilfe
Bernd
Anzeige
AW: zuletzt geänderte Zellen farblich markie
01.03.2021 10:43:24
Nepumuk
Hallo Bernd,
was ist die "erste Selektion"
Gruß
Nepumuk
AW: zuletzt geänderte Zellen farblich markie
01.03.2021 11:17:35
Bernd
Hallo Nepumuk,
ich glaube, ich bringe mal den gesamten Code rein. Du wirst es sicher viel schneller erkennen, was ich machen möchte...
Sieht sicher sehr wirr für dich aus.... aber ich glaube, jeder fängt mal so an... :-)
Sicher geht das alles auch viel einfacher, ich kann`s aber leider nicht anders..
LG, Bernd
Sub ZeilenUndSpaltenAnpassen()
' ZeilenUndSpaltenAnpassen Makro
' Löschen der Zeilen und Spalten
If ActiveSheet.Name = "Tabelle1" Then
Worksheets("Tabelle1").Activate
Worksheets("Tabelle1").Copy After:=Worksheets("Tabelle1")
ActiveSheet.Name = "Arbeitsdatei"
Rows("5").Select
Selection.Delete Shift:=xlUp
Rows("1:3").Select
Selection.Delete Shift:=xlUp
Range("A:A,C:C,F:F,H:H,J:J,N:N,P:P,R:R,S:S").Select
Range("P1").Activate
Selection.Delete Shift:=xlToLeft
Range("A1").Select
' LeerZeichenSpalteILöschen Makro
Range("I1").FormulaR1C1 = "Betrag 999"
Range("A1").Select
End If
'Filtereinstellungen auf null setzen
Worksheets("Arbeitsdatei").Activate
Range("A1:J3000").AutoFilter
'Filter wählen nach Kategorie "PartGs" für 1020,1030,1050,1055,1070,1080,1085 und 1096  _
anpassen
'ActiveSheet.Range("A1:LJ3000").AutoFilter 5, "LE1020", xlOr, "LE1030", xlOr, "LE1050",  _
xlOr, "LE1055", xlOr, "LE1070", xlOr, "LE1080", xlOr, "LE1085", xlOr, "LE1096"
'Worksheets("Arbeitsdatei").Range("A1:J3000").AutoFilter 5, "LE*"
'Worksheets("Arbeitsdatei").Range("A1:J3000").AutoFilter 5, "LE1020;LE1030;LE1050;LE1055; _
LE1070;LE1080;LE1085"
'Worksheets("Arbeitsdatei").Range("A1:J3000").AutoFilter 5, "LE1020", xlOr, "LE1030", xlOr,  _
"LE1050", xlOr, "LE1055", xlOr, "LE1070", xlOr, "LE1080", xlOr, "LE1085", xlOr, "LE1096"
ActiveSheet.Range("$A$1:$J$1897").AutoFilter Field:=5, Criteria1:=Array( _
"LE1020", "LE1030", "LE1050", "LE1055", "LE1070", "LE1080", "LE1085", "LE1096"), _
Operator:=xlFilterValues
'Filter auf "SP" legen nach nicht leeren Zellen
ActiveSheet.Range("$A$1:$J$1897").AutoFilter Field:=6, Criteria1:=""
'Filterwerte PartGS für 1020,1030,1050,1055,1070,1080,1085 und 1096 anpassen
Columns("F:F").Select
Selection.Replace What:="31", Replacement:="87", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Selection.Replace What:="34", Replacement:="90", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Selection.Replace What:="32", Replacement:="88", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
'Filterwerte, die nicht 1020,1030,1050,1055,1070,1080,1085 und 1096 sind anpassen
ActiveSheet.Range("$A$1:$J$1897").AutoFilter Field:=5, Criteria1:=Array( _
"LE0603", "LE1021", "LE1022", "LE1023", "LE1024", "LE1025", "LE1026", "LE1027", _
"LE1040", "LE1060", "LE1090", "LE1094", "LE1095", "LE1098", "LE1099", "LE2010", _
"LE2012", "LE2015", "LE2020", "LE2041", "LE3010", "LE3015", "LE3020", "LE3030", _
"LE3042", "LE3050", "LE3065", "LE3075", "LE3085", "LE3091", "LE3100", "LE4010", _
"LE4015", "LE4020", "LE4025", "LE4029", "LE4030", "="), Operator:=xlFilterValues
Columns("F:F").Select
Selection.Replace What:="31", Replacement:="93", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Selection.Replace What:="32", Replacement:="94", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
Selection.Replace What:="34", Replacement:="96", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
'FilterOeffnen Makro und Position A1
ActiveSheet.ShowAllData
Range("A1").Select
End Sub

Anzeige
AW: zuletzt geänderte Zellen farblich markie
01.03.2021 11:23:25
Nepumuk
Hallo Bernd,
das kannst du schon machen. Aber da du per Replace die Werte änderst, wird mein Code nichts finden was es zu markieren gibt.
Gruß
Nepumuk
AW: zuletzt geänderte Zellen farblich markie
01.03.2021 11:37:02
Bernd
Hallo Nepumuk,
danke für die Info.
Die Idee war halt, direkt nach der Änderungen der Werte in Columns("F:F").Select die jetzt geänderten Werte farblich zu kennzeichnen....
Die danach geänderten Werte wollte ich dann farblich anders kenntlich machen ...
LG, Bernd
AW: zuletzt geänderte Zellen farblich markie
24.02.2021 13:57:50
Daniel
Hi
warum Script?
kopiere, bevor du anfängst, die Spalte in eine andere Spalte als Wert (sozusagen die Sicherung der "alt"-Werte")
und färbe dann über die Bedingte Formatierung alle Zellen, die einen anderen Wert haben als die Kopie.
Hat auch den Vorteil, dass die Farbe automatisch weg ist, wenn du wieder den Ursprungswert einträgst
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige