Anzeige
Archiv - Navigation
1676to1680
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

vba - Ergebnis für alle Listeneinträge

vba - Ergebnis für alle Listeneinträge
19.02.2019 13:34:47
Fred
Hallo Excel-Profis,
ich beginne derzeit mit vba und immer wieder stoße ich frühzeitig an meine Grenzen
Das Problem;
Ich habe in Spalte 54 eine Liste die ich mit der Liste in Spalten 3+4 abgleichen will. Es soll als Ergebnis die Treffer eines Teams ermittelt werden (Spalten 5-6)
Ich habe ein Makro geschrieben;

Sub a03_Treffer()
Dim n
Dim Summe
For n = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(n, 3).Value = Cells(6, 54) Then
Summe = Summe + Cells(n, 5).Value
End If
If Cells(n, 4).Value = Cells(6, 54) Then
Summe = Summe + Cells(n, 6).Value
End If
Next
Range("BE6") = Summe
End Sub

Das Ergebnis vom ersten Eintrag meiner Liste wird hier in "BE6" eingetragen (Ergebnis stimmt).
Allerdings möchte ich auch für die unterstehenden Einträge das Ergenis. Bei Zellen-Formel würde ich die Formel ja einfach "runterziehen",- in vba muß wohl aber das komplette Makro umgeschrieben werden.
Kann mir jemand dabei bitte helfen?!
zur Verdeutlichung
https://www.herber.de/bbs/user/127755.xlsb
Mit freundlichen Gruß
Fred Neumann

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba - Ergebnis für alle Listeneinträge
19.02.2019 22:16:00
MCO
Hallo Fred!
(Voller Name Alfred E. Neumann?)
Das Makro hab ich dir neu aufgebaut.
Sub a03_Treffer()
Dim mannsch As Range, TEAM As Range
Dim summe As Long, spiel As Long
Set such_rng = Range("C2:D" & ActiveSheet.UsedRange.Rows.Count).SpecialCells( _
xlCellTypeConstants)
For Each mannsch In Range("BB6:BB11")
summe = 0
spiel = 0
For Each TEAM In such_rng
If TEAM = mannsch Then
summe = summe + TEAM.Offset(0, 2)
spiel = spiel + 1
End If
Next TEAM
mannsch.Offset(0, 3) = summe
mannsch.Offset(0, 1) = spiel
Next
End Sub

Gruß, MCO
AW: vba - loLetzte einbauen
20.02.2019 09:31:28
Fred
Hallo,
das Makro ordnet wie gewünscht den Teams die Treffer zu.
Allerdings nur den Mannschaften nach Kriterium "BB6:BB11"
Es sollen aber alle eingetragenen Mannschaften in Spalte "BB" ab Zeile 6 berücksichtigt werden.
ich habe da mal rumgebastelt,- um "loLetzte" unterzubringen;
    Dim loLetzte As Long, i As Long
Dim mannsch As Range, TEAM As Range
Dim summe As Long, spiel As Long
Set such_rng = Range("C2:D" & ActiveSheet.UsedRange.Rows.Count).SpecialCells( _
xlCellTypeConstants)
For i = 6 To loLetzte
For Each mannsch In Cells("i,54")
summe = 0
spiel = 0
For Each TEAM In such_rng
If TEAM = mannsch Then
summe = summe + TEAM.Offset(0, 2)
spiel = spiel + 1
End If
Next TEAM
mannsch.Offset(0, 3) = summe
mannsch.Offset(0, 1) = spiel
Next
.. klappt nicht.
Was mache ich da falsch?
Gruß
Fred
Anzeige
AW: vba - loLetzte einbauen
20.02.2019 16:41:54
Fred
ich bekomme es einfach nicht gebacken,

Dim mannsch As Range, TEAM As Range
Dim summe As Long, spiel As Long
bisLetzteZeile = Range("BA6").End(xlDown).Row
Set such_rng = Range("C2:D" & ActiveSheet.UsedRange.Rows.Count).SpecialCells( _
xlCellTypeConstants)
For r = 6 To bisLetzteZeile
Next
For Each mannsch In Cells(r, 60)
summe = 0
spiel = 0
For Each TEAM In such_rng
If TEAM = mannsch Then
summe = summe + TEAM.Offset(0, 2)
spiel = spiel + 1
End If
Next TEAM
mannsch.Offset(0, 3) = summe
mannsch.Offset(0, 1) = spiel
Next
ich möchte doch einfach nur, dass das Ergebnis in Spalte 57 entsprechend dynamisch "runtergezogen" wird.
Anzeige
vba Ergebnis für alle Listeneinträge/ erledigt
22.02.2019 16:45:15
Fred
.. und auch dieser Beitrag dank EtoPHG beantwortet

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige