AW: Eintrag wenn KZ aus anderer Datei gleich
08.12.2005 13:53:23
Matthias
Hallo Klaus,
hier eine Lösung mit VBA:
Sub Abgleichen()
Const fn = "Datei2.xls"
Dim i As Long, lz As Long
Dim shSuch As Worksheet, shListe As Worksheet
Dim Suchbereich As Range, zelle As Range
'Bildschirm "enfrieren"
Application.ScreenUpdating = False
'aktuelles Blatt merken
Set shListe = ActiveSheet
'Datei zum Abgleichen (schreibgeschützt) öffnen
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & fn, ReadOnly:=True
'Suchbereich in Datei2 festlegen:
Set shSuch = ActiveWorkbook.Sheets("Tabelle1") 'Tabellennamen anpassen
lz = shSuch.Cells(Rows.Count, 1).End(xlUp).Row
Set Suchbereich = shSuch.Range(shSuch.Cells(5, 1), shSuch.Cells(lz, lz))
With shListe
lz = .Cells(Rows.Count, 1).End(xlUp).Row
'Spalte A, Zeile 5 bis letzte Zeile durchsuchen
For i = 5 To lz
'Leerzellen übergehen
If .Cells(i, 1) <> "" Then
'nach Kennzeichen in Datei2 suchen
Set zelle = Suchbereich.Find(What:=.Cells(i, 1), LookAt:=xlWhole)
If Not zelle Is Nothing Then
'gefunden: Werte einsetzen
.Cells(i, 17) = "ERLEDIGT"
.Cells(i, 18) = zelle.Offset(0, 7)
Else
'nicht gefunden: evtl vorhandene Werte löschen
.Cells(i, 17) = ""
.Cells(i, 18) = ""
End If
End If
Next i
End With
Workbooks(fn).Close False
Application.ScreenUpdating = True
MsgBox "Liste wurde aktualisiert!", vbInformation
End Sub
Gruß Matthias