AW: Listen vergleichen-fehlende Werte einfügen
07.11.2007 00:27:06
Daniel
Hi
zum Beispiel mit diesem Makro:
Sub Fehlende_Zeilen_ergänzen()
Dim shNew As Worksheet
Dim shData As Worksheet
Dim Anzahl As Integer
Set shNew = Sheets("new")
Set shData = Sheets("data")
'--- Id ergänzen
With Range(shNew.Cells(5, 3), shNew.Cells(4, 2).End(xlDown).Offset(, 1))
.FormulaR1C1 = "=rC[-2]&"" ""&RC[-1]"
End With
'--- Fehlende Werte suchen
With Range(shData.Cells(3, 5), shData.Cells(2, 1).End(xlDown).Offset(, 4))
.FormulaR1C1 = "=COUNTIF(new!C3,RC[-2])"
Anzahl = WorksheetFunction.CountIf(.Cells, 0)
End With
'--- Abfrage
Select Case MsgBox(Anzahl & " logische Systemen wurden in der Liste nicht gefunden!" _
& Chr(10) & "Möchten Sie die Liste mit neuen Daten ergänzen?", vbYesNo)
Case vbYes
'--- fehlende Werte einfügen
With shData.Cells(2, 1)
.AutoFilter field:=5, Criteria1:="=0"
Range(.Offset(1, 0), .End(xlDown)).Resize(, 2).SpecialCells(xlCellTypeVisible) _
.Copy Destination:=shNew.Cells(4, 1).End(xlDown).Offset(1, 0)
.AutoFilter
End With
Case Else
End Select
'--- Spuren löschen
shData.Columns(5).Clear
shNew.Columns(3).Clear
End Sub
Gruß, Daniel