vb-net
Goto Top

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

Content-Key: 104480

Url: https://administrator.de/contentid/104480

Printed on: April 20, 2024 at 04:04 o'clock

Member: NilsErik
NilsErik Dec 19, 2008 at 15:39:03 (UTC)
Goto Top
Schau Dir mal in der Hilfe den Befehl "Cells(x,y)" an. Damit kannst Du auf einzelne Zellen Zugreifen.
Member: Guenni
Guenni Dec 19, 2008 at 22:55:16 (UTC)
Goto Top
@VB-NET

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