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 -- "viele Wege führen nach Rom"

VBA -- "viele Wege führen nach Rom"
21.02.2019 10:50:28
Fred

Hallo Excel-Profis,
im Moment bin ich mal so richtig gefrustet.
Normalerweise in wenigen Sekunden endsprechend runterkopierte, flott geschriebene „Zellen-Formeln“ werden mit bei mir,- in VBA geschrieben, zu einer den Tag ausfüllenden Beschäftigung (ohne abschließenden „Erfolgserlebnis“).
Noch habe ich eine Schranke,- bzw. mir unüberwindbare Mauer im Kopf.
Aktuelles Beispiel;
Vorgestern hatte ich selbst einen Code geschrieben und bat hier im Forum um die Ergänzung, dass meine „Ergebniszelle“ bis zum letzten Eintrag entsprechend „runterkopiert“ werden soll. Ich erhielt auch Feedback.
Mein Code
Sub a01_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

Der Code von MCO
Sub a02_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

Die Excel-Experten werden wahrscheinlich bei meiner Version eher die Augen verdrehen, ich allerdings, kann den Lösungsvorschlag absolut nicht lesen,- nachvollziehen. Für mich sieht der Code von MCO eher wie ein schräger Abfahrtsplan des Berliner HBF aus,- während ich bei meiner Version auf Anhieb erkenne, worum es geht.
Die Excel-Profis unterscheiden hier bei meinem Beispiel wohl von Selektieren und Referenzieren. In meinem Code habe ich selektiert, MCO hat referenziert.
Ich denke mal, dass wenn ich bei VBA „hängen bleibe“, ich früher oder später ebenfalls Code so weit wie möglich kürze,- referenziere und irgendwann mal selbst die Augen über meine Anfänge verdrehe. Doch Stand jetzt: In meiner Variante sehe ich das einzige logische und mir nachvollziehbare. Ich möchte gerne so wie oben den Code schreiben (Fragen stellen sich auch so ohnehin ..) und Stück für Stück „Referenz“ einbauen. – Performance, Fehleranfälligkeit etc. außer Betracht lassen.
Meine Anfrage;
Kann mir vielleicht jemand bitte diesen Code soweit ergänzen, dass das Ergebnis in Zelle „B6“ bzw (6, 57) entsprechen runter kopiert wird (bis zu der Zeile, die als letztes in Spalte „BA“ bzw. Spalte 53 beschrieben ist). Also mein geschriebener Teil weitgehend erhalten bleibt.
Hier nochmals mein bisheriges VBA
Sub a01_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
Und für das bessere Verständnis, eine gekürzte Mappe
https://www.herber.de/bbs/user/127811.xlsb
Nochmals, es geht mir hier nur um mein Verstehen, und das ich in Zukunft Stück für Stück „optimiere“. Es bringt mir in dieser Anfängerphase herzlich wenig, wenn ich hier im Forum Lösungsvorschläge erhalte, mir das alles zu kryptisch erscheint und nur kopiere und einfüge. Bitte habt (noch) Verständnis für meine Art des Lernens.
Mit freundlichen Gruß
Fred Neumann

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

Betreff
Datum
Anwender
Anzeige
...aber keine Holzwege
21.02.2019 13:29:51
EtoPHG
Fred,
Warum kompliziert mit VBA, wenn's mit einfachen Formeln wie Zählenwenn, Summewenn etc., oder mit Pivottabelle geht?
Verbessere zuerst Dein Excel-Basiskenntnisse, bevor du mit VBA loslegst.
Gruess Hansueli
AW: ...aber keine Holzwege
21.02.2019 13:57:23
Fred
Jo Hansueli,
auch das ist bei weiten noch nicht ausgereift ...
Meine Versuche mit VBA haben nun den Ursprung, weil ich derzeit im Schnitt ca. 7000 DS auswerten möchte. Dies mit "Zell-Formel" umzusetzen ist "schnelle gemacht", allerdings fängt es schon an mit der Zeit zum öffnen der Mappe, - wenn ich Eingaben mache,- die Neuberechnungen (will ich nicht deaktivieren) undundund.
Kannst Du mir das Makro so gestalten, das der Teil "Summewenn" so eingebaut ist,- und die Ergebnisse entsprechend runterkopiert werden?
Gruß
Fred
Anzeige
Was mit Formeln gelöst werden kann...
21.02.2019 15:02:53
EtoPHG
löse ich praktisch nie mit VBA, schon gar nicht, wenn es sich um solche lächerlich kleine Datenmengen handelt. Sorry Fred, da musst du auf jemand anders warten.
Gruess Hansueli
OK Hansueli,
21.02.2019 15:08:54
Fred
... aber Danke für Deine Aufmerksamkeit
Gruß
Fred
Beitrag dank EtoPHG beantwortet
22.02.2019 16:43:35
Fred
Anfrage dank EtoPHG beantwortet !!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige