VBA Zeilen abfragen
Hallo Leute,
ich bin gerade dabei ein Makro für eine bestimmte Berechnung zu Programmieren.
Leider ist mein Wissen in VBA sehr gering. Eher in VB.NET, aber das sind ja zwei verschiedene Welten.
Nun zu meinem Problem.
Es ist eine Tabelle mit mehreren Spalten vorhanden.
In Spalte C kann man aus einer DropDown-Box wählen, ob es ein A-Satz oder C-Satz ist.
In Spalte E und F trägt man bestimmte Werte ein.
Jetzt sind ca. 100 Zeilen gefüllt.
Nun soll er die Spalte E überprüfen, ob in der selben Zeile auch C = A-Satz ist. Wenn nicht, dann nächste Zeile usw.
Wenn C = A-Satz ist, dann soll er diesen Wert sich merken -> Summenbildung am Ende.
Wenn er fertig ist, dann soll er in Zeile (z.b. G12) das Ergebnis ausgeben.
Wie bewerkstellige ich das ganze?
Ich muss das am besten über eine For-Schleife laufen lassen, die ein Maximum hat und diesen Vergleich machen.
Das Problem besteht darin, dass ich nicht weiß, wie ich ihm die "Startzeile" angebe und dann fortlaufen lasse.
Vielen Dank im Voraus!
Gruß
VB-NET
ich bin gerade dabei ein Makro für eine bestimmte Berechnung zu Programmieren.
Leider ist mein Wissen in VBA sehr gering. Eher in VB.NET, aber das sind ja zwei verschiedene Welten.
Nun zu meinem Problem.
Es ist eine Tabelle mit mehreren Spalten vorhanden.
In Spalte C kann man aus einer DropDown-Box wählen, ob es ein A-Satz oder C-Satz ist.
In Spalte E und F trägt man bestimmte Werte ein.
Jetzt sind ca. 100 Zeilen gefüllt.
Nun soll er die Spalte E überprüfen, ob in der selben Zeile auch C = A-Satz ist. Wenn nicht, dann nächste Zeile usw.
Wenn C = A-Satz ist, dann soll er diesen Wert sich merken -> Summenbildung am Ende.
Wenn er fertig ist, dann soll er in Zeile (z.b. G12) das Ergebnis ausgeben.
Wie bewerkstellige ich das ganze?
Ich muss das am besten über eine For-Schleife laufen lassen, die ein Maximum hat und diesen Vergleich machen.
Das Problem besteht darin, dass ich nicht weiß, wie ich ihm die "Startzeile" angebe und dann fortlaufen lasse.
Vielen Dank im Voraus!
Gruß
VB-NET
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 104480
Url: https://administrator.de/contentid/104480
Ausgedruckt am: 05.11.2024 um 12:11 Uhr
2 Kommentare
Neuester Kommentar
@VB-NET
Hi,
als Makro könnte man's so machen:
Da im Schleifenkopf geprüft wird, ob (Spalte E, Zeile x) nicht leer ist,
funktioniert das natürlich nur, wenn die Spalte E keine Leerzeilen enthält.
Gruß
Günni
Hi,
als Makro könnte man's so machen:
Private Sub A-SatzSuchen()
Zeile = 3 'Oder wo immer auch die Werteliste anfängt
Summe = 0
While Not IsEmpty(Range("E" & Zeile).Value)
If Range("C" & Zeile).Value = "A-Satz" then
Summe = Summe + Range("E" & Zeile).Value
End If
Zeile = Zeile + 1
Wend
Range("G" & 12).Value = Summe
End Sub
Da im Schleifenkopf geprüft wird, ob (Spalte E, Zeile x) nicht leer ist,
funktioniert das natürlich nur, wenn die Spalte E keine Leerzeilen enthält.
Gruß
Günni