ich wollte unten angeführte Makros folgendermaßen abändern:
Die Makros sollten aus Arbeitsmappe 1, die die zu ersetzenden DAten enthält, ausgeführt werden, d.h. es sollte kein Makro in Arbeitsmappe2 verwendet werden. Die Makros müssten also die Arbeitsmappe 2 öffnen, - die Werte herausladen (werte_auslesen) bzw. ersetzen (werte_ersetzen) - und anschließend wieder schließen.
Leider hab ich bei meinen Versuchen immer eine Fehlermeldung erhalten. Habs mit Workbooks.Open versucht.
Sub werte_ersetzen()
Dim verg(5000), ktoneu(5000)
Dim z%, r%, s%
Worksheets("Tabelle1").Activate 'Arbeitsmappe 1, Tabelle 1
z = 1
Do While Cells(z, 1) ""
verg(z) = Cells(z, 1)
ktoneu(z) = Cells(z, 2).FormulaR1C1
z = z + 1
Loop
Worksheets("Tabelle2").Activate 'Arbeitsmappe 2, Tabelle 2
For r = 2 To z - 1
For s = 2 To z - 1
If Cells(r, 3) = verg(s) Then Cells(r, 3).FormulaR1C1 = ktoneu(s)
Next s
Next r
End Sub
Public Sub werte_auslesen()
Dim rngzelle As Range
Dim lngZeile As Long
lngZeile = 1
With Worksheets("Tabelle1") 'Arbeitsmappe 1, Tabelle1
For Each rngzelle In ActiveSheet.Range("A1:H2600") 'Arbeitsmappe 2, Tabelle2
If rngzelle.Interior.ColorIndex = 10 Then
rngzelle.Copy .Cells(lngZeile, 1)
lngZeile = lngZeile + 1
End If
Next rngzelle
.Range("A:A").Sort Key1:=.Range("A1"), _
Order1:=xlAscending, _
Header:=xlNo
End With
End Sub
LG & ein schönes Wochenende
rene