Zellen mit einer List vergleichen

  • Excel

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Zellen mit einer List vergleichen

    Hallo,

    ich möchte das Bereich E9:E500 (Tabellenblatt_2) mit einer List vergleichen (Tabellenblatt_1 - N56:N84). Wenn die Daten übereinstimmen, dann möchte ich die Spalten von G bis L in der gleichen Reihe löschen. Ich habe schon ein Makro geschrieben, aber das bezieht nur auf ein Tabellenblatt.

    Quellcode

    1. Private Sub CommandButton3_Click()
    2. Application.ScreenUpdating = False
    3. Application.Calculation = xlCalculationManual
    4. Dim i As Integer
    5. With Sheets("Plan")
    6. For i = 9 To 500
    7. If .Cells(i, 5) = "Samstag" Then
    8. .Cells(i, 7) = vbNullString
    9. .Cells(i, 8) = vbNullString
    10. .Cells(i, 9) = vbNullString
    11. .Cells(i, 10) = vbNullString
    12. .Cells(i, 11) = vbNullString
    13. .Cells(i, 12) = vbNullString
    14. End If
    15. Next
    16. End With
    17. Application.ScreenUpdating = True
    18. Application.Calculation = xlCalculationAutomatic
    19. End Sub


    Könnt ihr mir Hinweise geben?

    Vielen Dank im Voraus.

    Mfg
    Christian

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kriisz“ ()

    Du möchtest für jeden Wert in E9:E500 testen, ob dieser Wert schon in N56:N84 irgendwo vorkommt?

    Visual Basic-Quellcode

    1. Sub ClearDuplicates
    2. For Each c in Range("E9:E500")
    3. If Not Tabelle2.Range("N56:N84").Find(c.Value, LookIn:=xlValues, LookAt:=xlWhole) is Nothing Then
    4. Intersect(c.EntireRow, Range("G:L")).ClearContents
    5. End If
    6. Next
    7. End Sub

    Den Code in den Codebereich des zu untersuchenden Worksheet schreiben, nicht in ein Modul.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Danke, habe ich schon gelöst, aber nicht so einfach, wie du geschrieben hast.

    Quellcode

    1. Private Sub CommandButton4_Click()
    2. Application.ScreenUpdating = False
    3. Application.Calculation = xlCalculationManual
    4. Dim x As Integer
    5. With Sheets("HLK")
    6. For x = 56 To 84
    7. Dim i As Integer
    8. With Sheets("Plan")
    9. For i = 9 To 500
    10. If .Cells(i, 6) = Sheets("HLK").Cells(x, 14) Then
    11. .Cells(i, 7) = vbNullString
    12. .Cells(i, 8) = vbNullString
    13. .Cells(i, 9) = vbNullString
    14. .Cells(i, 10) = vbNullString
    15. .Cells(i, 11) = vbNullString
    16. .Cells(i, 12) = vbNullString
    17. End If
    18. Next
    19. End With
    20. ActiveCell.Offset(1, 0).Select
    21. Next
    22. End With
    23. Application.ScreenUpdating = True
    24. Application.Calculation = xlCalculationAutomatic
    25. End Sub