Thema Datum  Von Nutzer Rating
Antwort
09.09.2016 09:37:34 Anja
NotSolved
09.09.2016 09:53:26 SJ
NotSolved
09.09.2016 10:45:59 Gast70500
NotSolved
09.09.2016 12:09:09 Gast75451
NotSolved
09.09.2016 12:50:22 Gast52493
NotSolved
Blau Untergruppen sortieren
09.09.2016 13:20:22 SJ
Solved
09.09.2016 14:15:26 Anja
NotSolved
09.09.2016 14:21:36 SJ
NotSolved
09.09.2016 14:24:54 Anja
NotSolved
09.09.2016 14:30:17 anja
NotSolved
09.09.2016 14:30:42 Gast25438
NotSolved
09.09.2016 14:38:48 SJ
NotSolved
09.09.2016 15:01:20 Gast3750
NotSolved
09.09.2016 15:15:32 Gast40519
NotSolved
12.09.2016 08:52:47 SJ
NotSolved
12.09.2016 13:37:22 Gast22220
NotSolved
12.09.2016 13:37:37 Gast54627
NotSolved

Ansicht des Beitrags:
Von:
SJ
Datum:
09.09.2016 13:20:22
Views:
728
Rating: Antwort:
 Nein
Thema:
Untergruppen sortieren

Hallo,

hatte die Anforderung so verstanden, dass es reicht, wenn die Sortierung absteigend ist.

Nachfolgend ein Skript, dass die höchsten Sortierschlüssel in den Gruppen mit "MAX" markiert. Bitte vorher ein Backup der Arbeitsmappe machen.

Option Explicit

Public Sub sort_groups()
    Dim l As Long, z As Long
    Dim iColGrp As Integer, iColSort As Integer, iColOut As Integer, tmp As Integer
    Dim wks As Worksheet
    
    l = 2                               'Zeile, in der begonnen wird, bei Tabellen mit Überschrift = 2
    iColGrp = 1                         'Spalte, in der die Gruppe steht (Ganzzahliger Wert)
    iColSort = 2                        'Spalte, in der das Sortierkriterium steht (Ganzzahliger Wert)
    iColOut = 3                         'Spalte, in der die Markierung gesetzt werden soll (Ganzzahliger Wert)
    Set wks = Worksheets("Tabelle1")    'Tabelle, die bearbeitet werden soll
    
    With wks
        Do While .Cells(l, iColGrp) <> vbNullString And .Cells(l, iColSort) <> vbNullString
            tmp = CInt(.Cells(l, iColSort))
            z = l
            Do While .Cells(z, iColGrp) = .Cells(l, iColGrp)
                If .Cells(z, iColSort) > tmp Then
                    tmp = .Cells(z, iColSort)
                End If
                z = z + 1
            Loop
            Call mark_max_group_sort(l, wks, iColGrp, iColSort, CStr(.Cells(l, iColGrp) & tmp), iColOut)
            l = z
            l = l + 1
        Loop
    End With
    
    Set wks = Nothing
End Sub

Private Sub mark_max_group_sort(ByVal l As Long, ByRef wks As Worksheet, ByVal iColGrp As Integer, ByVal iColSort As Integer, ByVal sKey As String, iColOut As Integer)
    Dim tmp As String
    
    With wks
        Do While Not .Cells(l, iColGrp) = vbNullString
            tmp = .Cells(l, iColGrp) & .Cells(l, iColSort)
            If tmp = sKey Then
                .Cells(l, iColOut) = "MAX"
                Exit Sub
            End If
            l = l + 1
        Loop
    End With
    
    MsgBox "Schlüssel " & sKey & " nicht gefunden..", vbInformation
End Sub

Gruß


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.09.2016 09:37:34 Anja
NotSolved
09.09.2016 09:53:26 SJ
NotSolved
09.09.2016 10:45:59 Gast70500
NotSolved
09.09.2016 12:09:09 Gast75451
NotSolved
09.09.2016 12:50:22 Gast52493
NotSolved
Blau Untergruppen sortieren
09.09.2016 13:20:22 SJ
Solved
09.09.2016 14:15:26 Anja
NotSolved
09.09.2016 14:21:36 SJ
NotSolved
09.09.2016 14:24:54 Anja
NotSolved
09.09.2016 14:30:17 anja
NotSolved
09.09.2016 14:30:42 Gast25438
NotSolved
09.09.2016 14:38:48 SJ
NotSolved
09.09.2016 15:01:20 Gast3750
NotSolved
09.09.2016 15:15:32 Gast40519
NotSolved
12.09.2016 08:52:47 SJ
NotSolved
12.09.2016 13:37:22 Gast22220
NotSolved
12.09.2016 13:37:37 Gast54627
NotSolved