schnelles Makro kopiert letzten statt ersten relevanten Eint
20.11.2023 14:17:53
Fred
ich habe zwei sehr umfangreiche Tabellen in den Sheets "Live" und "Ziel"
Ein Makro, welches mir Werte von "Ziel" nach "Live" kopiert mit der Bedingung, dass jeweils in Spalte "A" beider Tabellen der Wert identisch ist.
Sub Ziel_nachLive()
Application.ScreenUpdating = False
sn = Sheets("Live").ListObjects(1).DataBodyRange
sp = Sheets("Ziel").ListObjects(1).DataBodyRange
With CreateObject("scripting.dictionary")
For j = 1 To UBound(sp)
.Item(sp(j, 1)) = Array(sp(j, 61), sp(j, 62), sp(j, 63), sp(j, 64))
Next
For j = 1 To UBound(sn)
If .Exists(sn(j, 1)) Then
sn(j, 29) = .Item(sn(j, 1))(0) ' alarm1
sn(j, 30) = .Item(sn(j, 1))(1) ' alarm2
sn(j, 31) = .Item(sn(j, 1))(2) ' alarm3
sn(j, 32) = .Item(sn(j, 1))(3) ' alarm4
End If
Next
End With
Sheets("Live").ListObjects(1).DataBodyRange = sn
End Sub
Nun ist es so, dass in Sheet "Ziel" mehrere DS mit dem gleichen Wert in Spalte "A" vorhanden sind und das schnelle Makro allerdings den letzten gefunden identischen Wert relevant sieht und entsprechend die Werte aus dieser Zeile in "Live" einträgt.
Kann mir ein Excel Experte das Makro entsprechend ändern so das der 1. gefundene Wert relevant ist? Die Tabelle "Ziel" ist absteigend sortiert.
Gruss
Fred