VBA - Zähler in der Schleife
03.02.2017 15:02:08
PS
Ich brauche dringend Hilfe. Und zwar habe ich ein Tabellenblatt, welches durch ein Makro _ mittels eines anderen Tabellenblatts gefüllt wird (Aktien und Input). Nun soll für den Fall dass die Verkäufe (im Blatt Input als negative Zahl) genau so groß sind wie die Käufe die Position geschlossen werden. Dies funktioniert mittels des Code auch schon. Im Fall, dass die Verkäufe kleiner waren als der Bestand soll unterhalb der bereits bestehenden Position eine neue Zeile eröffnet werden, welche gefüllt werden soll und in die die Stückzahlen des Verkaufs eingetragen werden und in die ursprüngliche Zeile die Differenz aus Bestand und Verkauf. Das funktioniert auch. Nun kann es aber sein, dass es mehrere "Bestände" gibt, heißt an einer Stelle stehen 10000 gekaufte Aktien und später dann wieder 10000 gekaufte Aktien. Heißt die Verkäufe könnten pro Zeile die Käufe übersteigen. Für den Fall müsste der Code jetzt zum ersten Bestand gehen, ihn schließen und dann die Restsumme nehmen und diese mit dem anderen Bestand vergleichen, heißt der Code müsste sich merken, dass er bereits etwas abgezogen hat und selbstständig weiterlaufen bis zum nächsten,nächsten,nächsten... Bestand bis die Verkäufe alle eingetragen wurden. Bin mir nicht sicher wie das von statten gehen soll und hoffe ihr könnt mir vielleicht helfen.. Anbei der Code:
Sub Aktien_entf()
Dim TbI, TbA, LetzteZeileI As Long, LetzteZeileA As Long
Dim x As Long, Wert, Wert2, Wert3, Wert4, NextRow As Long
Dim Wert5 As Variant
Set TbI = Worksheets("Input")
Set TbA = Worksheets("Aktien")
Set TbW = Worksheets("Input Währung")
Set LookupRange = Worksheets("Input Währung").Range("B3:C23")
LetzteZeileI = TbI.Cells(TbI.Rows.Count, 1).End(xlUp).Row
LetzteZeileA = TbA.Cells(TbA.Rows.Count, 1).End(xlUp).Row
LetzteZeileB = TbA.Cells(TbA.Rows.Count, 2).End(xlUp).Row
For x = 2 To LetzteZeileI Step 1
For y = 2 To LetzteZeileA Step 1
Wert = TbI.Cells(x, 10).Value
' Wertpapierart Input
Wert2 = TbI.Cells(x, 11).Value
' Quantität Input
Wert3 = TbI.Cells(x, 7).Value
' BBG Ticker Input
Wert4 = TbA.Cells(y, 8).Value
' BBG Ticker Aktien
Wert5 = TbA.Cells(y, 5).Value
' Stückzahl Aktien
Wert6 = Abs(TbI.Cells(x, 11).Value)
' Betrag Quantität Input
Wert7 = TbI.Cells(x, 3).Value
' Datum Input
If Wert3 = Wert4 And TbA.Cells(y, 3).Value = "offen" _
And Wert = "EQUITIES" And Wert2
Vielen Dank und viele Grüße!