Onur ! Kannste mal gucken?!
27.06.2023 18:04:47
Fred
Hallo Excel / VBA Experten,
vor kurzen habe ich von Onur ein Makro geschrieben bekommen, Mit dem in einer formatierten Tabelle in den Titeln 1 bis 40 die kleinsten 5 Summen (pro Spalte + 5 Spalten) ermittelt werden.
Große Klasse!
Dim StartTitel As Integer
Dim EndTitel As Integer
Dim Summe As Double
Dim MinSumme(1 To 5) As Double
Dim TitelMitMinSumme(1 To 5) As Integer
Dim i As Integer
Dim j As Integer
Dim StartZelle As Range
StartTitel = 1
EndTitel = 40
For j = 1 To 5
MinSumme(j) = 1E+100
Next j
Set StartZelle = Worksheets("Scalping").ListObjects("tab_Scalping").ListColumns(7).Range
For Titel = StartTitel To EndTitel
Summe = WorksheetFunction.Sum(StartZelle.Resize(, 6)) ' die 6 = bis einschließlich 5 folgende
For i = 1 To 5
If Summe MinSumme(i) Then
For k = 5 To i + 1 Step -1
MinSumme(k) = MinSumme(k - 1)
TitelMitMinSumme(k) = TitelMitMinSumme(k - 1)
Next k
MinSumme(i) = Summe
TitelMitMinSumme(i) = Titel
Exit For
End If
Next i
Set StartZelle = StartZelle.Offset(0, 1)
Next Titel
For i = 1 To 5
Worksheets("Listen").Cells(i + 3, "AH").Value = TitelMitMinSumme(i)
Worksheets("Listen").Cells(i + 3, "AI").Value = MinSumme(i)
Worksheets("Listen").Cells(i + 3, "AJ").Value = MinSumme(i) / 40
Next i
End Sub
Nun habe ich ein "Luxusproblemchen"
Ich möchte die Berechnungen auf gefilterte Daten anwenden.
Es ist durchaus machbar, dass ich die Zeilen lösche und die "gefilt. Daten" von der Haupttabelle in relevantes Sheet kopiere und diese mir dann ja ungefiltert gewünschtes anzeigen.
Allerdings sollen die Berechnungen vielfältig (Min / Max) und auf verschiedensten Zeilen angewendet werden.Es wäre viel "ressourcen-freundlicher", wenn ich also die Berechnungen auf gefilterte Daten anwenden könnte.
Meine Frage:
Kann das Makro dahin geändert werden, das gewünschtes sich auf gefilterte Daten bezieht??
Wie aber bereits geschrieben: Ich könnte auch jeden einzelnen Berechnungen zuvor die Datensätze durch "löschen, rein kopieren" entsprechend ändern.
Beispieltabelle:
https://www.herber.de/bbs/user/159743.xlsb
Gruss
Fred