Thema Datum  Von Nutzer Rating
Antwort
03.07.2022 14:31:31 Verena
NotSolved
03.07.2022 16:09:50 ralf_b
NotSolved
03.07.2022 17:16:14 Verena
NotSolved
Blau Finde größten oder kleinsten Wert und markiere ihn. Einige Problem dabei.
03.07.2022 18:50:35 ralf_b
NotSolved
03.07.2022 22:29:41 Verena
NotSolved
04.07.2022 10:21:51 ralf_b
NotSolved

Ansicht des Beitrags:
Von:
ralf_b
Datum:
03.07.2022 18:50:35
Views:
494
Rating: Antwort:
  Ja
Thema:
Finde größten oder kleinsten Wert und markiere ihn. Einige Problem dabei.

es funktioniert, eben nicht wie du es jetzt willst. Makros werden auf die Anforderung speziell zugeschnitten. Nur weil das Makro fast das macht was du willst, muß es für die aktuelle Anwendung trotzdem umgeschrieben werden. Dafür sind die Vorrausetzungen genau zu beschreiben.   

für gefilterte Bereiche gibt es die Teilergebnis-Funktion

Naja egal.
Augeteilt in eine Sub(makro) für die Bereichsübergabe und eine Function zum durcharbeiten und  färben. 
Selection nicht notwendig.
Es wird nur die benannte Spalte der intelligenten Tabelle bearbeitet, bzw der übergebene gefilterte Datenbereich.
subtotal = Teilergebnis (nur nicht weggefilterte Zeilen werden gezählt ), 
dannach alle sichtbaren Zellen auf Gleichheit mit Maxwert prüfen.
Typumwnadlung wenn Zahl as Text vorliegt. Zahlen in Anführungstrichen  z.b ("120") wird nicht beachtet.
Alle passenden Zellen werden in einen Bereich zusammengefasst und abschließend gefärbt.
Ungetestet. 


Sub bereichfaerben()   
    With ActiveSheet.ListObjects("DatenTabelle").ListColumns("Gewicht")
      Call Analyze_Max_Bad(.DataBodyRange)
    End With
End Sub

Function Analyze_Max_Bad(rngBereich As Range)

    Dim rngArea As Range, rng As Range, rngAlle As Range
    Dim vValue As Variant
            
    vValue = Application.WorksheetFunction.Subtotal(4, rngBereich)
    For Each rngArea In rngBereich.SpecialCells(xlCellTypeVisible)
       For Each rng In rngArea
         If IsNumeric(rng.Value) Then
            If CDbl(rng.Value) = vValue Then
                If rngAlle Is Nothing Then
                    Set rngAlle = rng
                Else
                    Set rngAlle = Union(rngAlle, rng)
                End If
            End If
         End If
      Next
    Next
    If Not rngAlle Is Nothing Then rngAlle.Interior.Color = vbRed
    
    Set rngAlle = Nothing: Set rngArea = Nothing: Set rng = Nothing
End Function

 

 

 


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
03.07.2022 14:31:31 Verena
NotSolved
03.07.2022 16:09:50 ralf_b
NotSolved
03.07.2022 17:16:14 Verena
NotSolved
Blau Finde größten oder kleinsten Wert und markiere ihn. Einige Problem dabei.
03.07.2022 18:50:35 ralf_b
NotSolved
03.07.2022 22:29:41 Verena
NotSolved
04.07.2022 10:21:51 ralf_b
NotSolved