ich versuche vergeblich eine Excel-Formel in eine VBA Formel umzuwandeln. Die Beispieldatei ist hier abrufbar:
https://www.herber.de/bbs/user/107554.xlsm
Ich versuche auf Basis von zwei vorgegebenen Werten (Art und Index-Name) die hinterlegte Gebühr aus einen anderen Reiter (Gebühr) zu ermitteln.
Grundsätzlich kann es pro Indexnamen zwei Arten geben, und damit zwei Gebühren.
In meinen bisherigen Excel habe ich mittels einer SummenProdukt-Funktion aus der Art und dem Indexnamen mir die Zeilennummer aus dem Reiter Gebühren ausweisen lassen (damit habe ich dann in weiteren Formeln weitergerechnet, was ich hier nicht thematisieren will). Ich will nun diese Schritte mit VBA automatisieren. Nur die Ermittlung der Zeilennummer will mir nicht gelingen. Im beigefügten Sheet habe ich ein Beispiel dargestellt. der Bereich A1:C3 ist die Tabelle. Das erwartete Ergebnis ist in Spalte D und die Excelformel in Spalte E.
So lautet mein Makro, das aktuell aber auf Fehler (Typenunverträglichkeit) läuft:
Sub ZeilenindexExecution()
Dim wsDatenbasis As Worksheet
Dim wsExcecL As Worksheet
Dim wsClearL As Worksheet
Dim ZeileE As Double
Dim letzteZeile As Long
Dim i As Long
Set wsDatenbasis = ActiveWorkbook.Sheets("Datenbasis")
letzteZeile = wsDatenbasis.Cells(Rows.Count, 1).End(xlUp).Row
Set wsExcecL = ActiveWorkbook.Sheets("Execution Gebühren")
'Gibt den Zeilenindex für den Index aus Sheet Execution Gebühren zurück
For i = 2 To letzteZeile
ZeileE = Application.WorksheetFunction.SumProduct((wsExcecL.Range("A2:A4") = wsDatenbasis.Range( _
_
_
_
"A" & i)) * _
(wsExcecL.Range("E2:E34") = wsDatenbasis.Range("B" & i)), Application.WorksheetFunction.Row( _
wsExcecL.Range("A" & i)))
Range("C" & i).Value = ZeileE - 1
Next i
End Sub
Ich hoffe jemand kann mir weiter helfen und meine Frage ist verständlich genug.
vg Tanja