Thema Datum  Von Nutzer Rating
Antwort
09.03.2020 14:15:50 Mike
NotSolved
09.03.2020 14:28:54 Mase
NotSolved
09.03.2020 14:47:49 Mike
NotSolved
09.03.2020 17:38:11 Gast01233
NotSolved
Rot Autofilter anwenden und einen Wert ändern
10.03.2020 09:02:12 Gast15497
NotSolved
10.03.2020 23:09:30 Mase
NotSolved
11.03.2020 09:00:14 Mike
NotSolved

Ansicht des Beitrags:
Von:
Gast15497
Datum:
10.03.2020 09:02:12
Views:
754
Rating: Antwort:
  Ja
Thema:
Autofilter anwenden und einen Wert ändern

Guten Morgen zusammen,
hier der Link zu meiner Datei.

https://www.file-upload.net/download-13938882/overdue_test1_Macro_help.xlsx.html

 

Ich habe der Spalte AK in den Farben formatiert, die ich am Ende als Text brauche.

 

Die Aufgabe ist ziemlich unkompliziert:

 

Suche in Spalte H nach Datum grösser heute, in Spalte U nach "A" und ändere in Spalte AK den Text von "rot" nach "gelb"

Suche in Spalte H nach Datum grösser heute, in Spalte U nach "O" und ändere in Spalte AK den Text von "rot" nach "grün"

Suche in Spalte H nach Datum grösser heute, in Spalte U nach "nicht A" & "nicht O" und ändere in Spalte AK den Text von "rot" nach "blau"

Dieser Code funktioniert unzuverlässig:

   AllowMultiSelect = False
   If Fname = "False" Then Exit Sub
   Set SrcWbk = Workbooks.Open(Fname)
   Selection.NumberFormat = "mm/dd/yyyy"
   
    On Error Resume Next
    
    ActiveSheet.ShowAllData
  
    Range("CL1").Select
    Selection.NumberFormat = "mm/dd/yyyy"
    ActiveCell.FormulaR1C1 = "=Today()"
    
Dim MyVal As Date
Selection.NumberFormat = "mm/dd/yyyy"
MyVal = Application.WorksheetFunction.WorkDay(Range("CL1").Value, 0)

    With ActiveSheet.Range("$A$1:$CZ$90101")

        .AutoFilter Field:=37, Criteria1:="rot"

        .AutoFilter Field:=8, Criteria1:=">" & MyVal
        
        .AutoFilter Field:=21, Criteria1:="O"

    End With

Dim c As Excel.Range
     
    For Each c In Range("AK2:AK" & Range("A" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeVisible)
        If c.Offset(, -1).Value = vbNullString Then Exit For
        c.Value = "grün"
    Next

Wenn ich diesen Code drei Mal hintereinander aufbaue, für die drei verschiedenen Farben, dann wird mal alles drei wie erwartet umgeschrieben, aber manchmal wird nur der erste oder nur die ersten beiden Codes umgesetzt.
Das meinte ich mit meiner Aussage, dass dieser Code nicht zuverlässig funktioniert. Speziell wenn das Filter Ergebnis für eine der drei Filter leer ist, ist das Ergebnis nicht korrekt.

Gruss
Mike

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
09.03.2020 14:15:50 Mike
NotSolved
09.03.2020 14:28:54 Mase
NotSolved
09.03.2020 14:47:49 Mike
NotSolved
09.03.2020 17:38:11 Gast01233
NotSolved
Rot Autofilter anwenden und einen Wert ändern
10.03.2020 09:02:12 Gast15497
NotSolved
10.03.2020 23:09:30 Mase
NotSolved
11.03.2020 09:00:14 Mike
NotSolved