AW: VBA - Sverweis Adresse
02.02.2017 17:30:30
PS
Hi Daniel,
Da hast du natürlich recht! Also die Formel funktioniert (da hatte ich was falsch eingetragen), allerdings fügt sie weiterhin die Formeln über das "Ziel hinaus" ein, also immer weiter nach unten (und nicht nur in die eine Zelle). Anbei mal der ganze Code.
Sub Aktien_hinzu()
Dim TbI, TbA, LetzteZeileI As Long, LetzteZeileA As Long
Dim x As Long, Wert, Wert2, NextRow As Long
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
For x = 2 To LetzteZeileI Step 1
Wert = TbI.Cells(x, 10).Value
Wert2 = TbI.Cells(x, 11).Value
If Wert = "EQUITIES" And Wert2 > 0 Then
TbA.Cells(LetzteZeileA + 1, 1).EntireRow.Insert
NextRow = TbA.Cells(TbA.Rows.Count, 1).End(xlUp).Row + 1
TbI.Cells(x, 3).Copy Destination:=TbA.Cells(NextRow, 2)
' Die Eröffnung der Transaktion
TbI.Cells(x, 11).Copy Destination:=TbA.Cells(NextRow, 5)
' Die Stückzahl wird eingetragen
TbI.Cells(x, 23).Copy Destination:=TbA.Cells(NextRow, 9)
' Die Währung wird eingetragen
TbI.Cells(x, 13).Copy Destination:=TbA.Cells(NextRow, 10)
' Der Einstandskurs wird eingetragen
TbI.Cells(x, 21).Copy Destination:=TbA.Cells(NextRow, 11)
' Der FX-Einstandskurs wird übertragen
TbI.Cells(x, 7).Copy Destination:=TbA.Cells(NextRow, 8)
' Der BloombergTicker wird eingetragen
TbA.Cells(NextRow, 4).Value = "long"
' Gibt bei neuen Aktienkäufen immer den Wert "long" an
TbA.Cells(NextRow, 3).Value = "offen"
' Gibt bei neuen Aktienkäufen immer den Wert "offen" an
Range(TbA.Cells(LetzteZeileA, 7), TbA.Cells(LetzteZeileA + 1, 7)).FillDown
' Autofillt die Formel bei GICS_Industry_Name ein
Range(TbA.Cells(LetzteZeileA, 12), TbA.Cells(LetzteZeileA + 1, 12)).FillDown
' Autofillt die Formel bei Last_Price
Range(TbA.Cells(LetzteZeileA, 14), TbA.Cells(LetzteZeileA + 1, 14)).FillDown
' Autofillt die +/-
Range(TbA.Cells(LetzteZeileA, 15), TbA.Cells(LetzteZeileA + 1, 15)).FillDown
' Autofillt die P/L in EUR
Range(TbA.Cells(LetzteZeileA, 16), TbA.Cells(LetzteZeileA + 1, 16)).FillDown
' Autofillt die P/L in BP
Range(TbA.Cells(LetzteZeileA, 6), TbA.Cells(LetzteZeileA + 1, 6)).FillDown
' Autofillt Wertpapier
TbA.Cells(NextRow, 13).Resize(LetzteZeileI - x + 1).FormulaR1C1 = "=VLookUp(RC9,' _
" & LookupRange.Worksheet.Name & "'!" & LookupRange.Address(1, 1, xlR1C1) & ",2,False)"
End If
Next x
End Sub
Kann aber gut sein, dass ich irgendwo noch n Fehler drin habe.