so viel probiert und irgendwie klappt das mit dem Auslesen der Daten trotzdem nicht vollständig.
Ich möchte aus der Datenbasis-Tabelle Daten (ab Zeile 3, Spalte 3 und 4) auslesen, die nicht direkt untereinander stehen und sich auf eine Zelle beziehen, die in der Zieltabelle enthalten ist.
Tabelle1 - Datenbasis-Tabelle
https://www.herber.de/bbs/user/109490.xlsm
in der Zieltabelle soll nach den Wert aus C1 gesucht werden.
in A10 bis A19 stehen die Zahlen 1-10 (also A10 = 1, A11 = 2 usw.), und der Wert aus Spalte E soll eingetragen werden.
Also C1 = 1 dann steht in der Zieltabelle Spalte D der Wert aus der Spalte E der Datenbasis:
D10 = 14
D11 = 18
D12 = 24
mit meiner SUB auslesen werden die Daten nicht alle gelesen. Kann mir jemand helfen?
Private Sub auslesen()
Dim i As Long, Zeile As Long, letzteZeile As Long
Dim Betrag As Currency
Dim ANR As Integer
Dim Teil As Integer
Dim Arbeitsmappe As Workbook
Dim Datenbasis As Worksheet
Dim Ziel As Worksheet
Dim AZ As Range
Dim BereichB As Range
Dim BereichA As Range
Dim arr As Variant
Set Arbeitsmappe = ThisWorkbook
Set Datenbasis = Arbeitsmappe.Worksheets("Tabelle1")
Set Ziel = Arbeitsmappe.Worksheets("Tabelle2")
letzteZeile = Datenbasis.Range("A1048576").End(xlUp).Row
Set BereichA = Datenbasis.Range("C1:C" & letzteZeile)
Set BereichB = Datenbasis.Range("D1:D" & letzteZeile)
'Die erste Datenprüfung nach ANR in Tabelle1
With Datenbasis
arr = .Range("C2:C" & .Cells(.Rows.Count, 1).End(xlUp).Row)
End With
ANR = Ziel.Range("C1").Value
For i = 10 To Ziel.Range("A19").Row
If Not arr(i - 9, 1) = ANR Then GoTo sprung_nexti
Teil = Ziel.Range("A" & i).Value
'Zweite Datenprüfung nach AZ
With Datenbasis
Set AZ = BereichB.Find(Teil)
If AZ Is Nothing Then
Betrag = 0
Ziel.Range("C" & i).Value = Betrag
'Eintrag, wenn AZ gefunden sind
Else
Zeile = AZ.Row
Betrag = .Range("E" & Zeile).Value
Ziel.Range("D" & i).Value = Betrag
Rows(10).EntireRow.Hidden = False
Rows(i).EntireRow.Hidden = False
Rows(19).EntireRow.Hidden = False
Set AZ = Nothing
End If
End With
'wenn ANR gefunden
sprung_nexti:
If i - 11 > Teil + 2 Then Exit Sub
Next i
End Sub
Danke für eure Hilfe