Thema Datum  Von Nutzer Rating
Antwort
Rot Finde größten oder kleinsten Wert und markiere ihn. Einige Problem dabei.
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
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:
Verena
Datum:
03.07.2022 14:31:31
Views:
745
Rating: Antwort:
  Ja
Thema:
Finde größten oder kleinsten Wert und markiere ihn. Einige Problem dabei.

Hi zusammen,

es geht um eine Funktion, welche nach dem größten (oder kleinsten) Wert sucht und diesen rot oder grün einfärbt. Das funktioniert auch, wenn bereits die Tabelle gefiltert wurde.

Unten der Quellcode der Funktion. Sie arbeitet auch wie gewünscht. (Auch dank dieses mega Forums hier). Aber sie hat ihre Schwächen.

Problem 1: Sie färbt immer nur den ersten Wert, welchen sie findet ein. D.h. wenn der größte Wert 1000g sind und er 10 mal auftaucht, färbt er aber nur den ersten Wert ein. Es wäre super, wenn er alle 1000g Werte einfärben würde.

Problem 2: Die funktion berücksichtigt keine durch Formeln errechnete Werte. Eine Spalte enthät das Volumen von Objeketen, welches excel errechnet, aber hier get die Funktion nicht.

Problem 3: Es kommt zum Bug, wenn eine Nicht-zahl oder so dabei ist. Kann man was machen, dass er "falsche" Werte ignoriert?

Vielen Dank vorab,

 

Verena

ActiveSheet.ListObjects("DatenTabelle").ListColumns("Gewicht").DataBodyRange.SpecialCells(xlCellTypeVisible).Select
                Call Analyze_Max_Bad
Sub Analyze_Max_Bad()
            Dim strData As String
                    Dim rng As Range
                    Dim vValue As Variant
                    Dim rngCol As Range
                    Dim lngRow As Long
                    Dim rngAdd As Range
                    strData = Selection.Address
                    Set rng = Range(strData)
                    vValue = Application.WorksheetFunction.Max(rng)
                    For Each rngCol In rng.Columns
                        If Application.WorksheetFunction.CountIf(rngCol, vValue) > 0 Then
                            lngRow = Application.WorksheetFunction.Match(vValue, rngCol, 0)
                            Set rngAdd = rngCol.Cells(lngRow, 1)
                            rngAdd.Select
                        End If
                    Next
                        With Selection
                        .Interior.Color = vbRed
                    End With
        End Sub


        End Sub


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
Rot Finde größten oder kleinsten Wert und markiere ihn. Einige Problem dabei.
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
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