2016-06-24 9 views
0

Was ich versuche zu tun ist, das Programm durchlaufen wird einen bestimmten Wert aus einer Spalte von Zellen finden und sehen, ob es mit einer Zelle übereinstimmt, nachdem ich den Wert speziell einfügen, und wenn es ist eine Übereinstimmung löscht die zugehörige Zelle und ihre Zellenzeile. Was passiert, ist, dass der spezielle Teil des Programms zum Einfügen funktioniert, aber die zugehörigen Zellen nicht gelöscht werden. Um zu klären, ich versuche, eine ganze Reihe von einer bestimmten Spalte zu löschen, basierend auf, ob es eine ÜbereinstimmungLöschen bestimmter Zellen Excel

Dim j As Integer 
Dim i As Integer 
i = 2 
Dim Aud_Tot As Integer 
Aud_Tot = Application.InputBox("How big is your audit", , , , , , , 1) 
Do While True 
    If Cells(i, 1).Value <> "" And Not IsError(Cells(i, 2).Value) Then 
     Range(Cells(i, 1), Cells(i, 22)).Copy 
     Range(Cells(i, 1), Cells(i, 22)).PasteSpecial xlPasteValues 
     For j = 2 To Aud_Tot 
      If Cells(j, 24).Value = Cells(i, 2).Value Then 
       Range(Cells(j, 24), (Cells(j, 42))).ClearContents 
      End If 
     Next j 
     i = i + 1 
    Else 
     Exit Do 
    End If 
Loop 
+0

* Löschen der zugehörigen Zellen ist nicht * - was erwarten Sie, dass das nicht passiert? schwer zu helfen, wenn es nicht klar ist, was Ihr aktuelles Ergebnis gegenüber der Erwartung ist. Möchten Sie beispielsweise die gesamte Zeile löschen? Oder möchten Sie nur den Inhalt der Zellen von Spalte 24 bis Spalte 42 für jede Zeile in j löschen? –

Antwort

1

Es scheint, dass Sie die Zeile löschen möchten, aber Sie verwenden nur ClearContents. Zum Löschen können Sie diese Zeile in Range(Cells(j, 24), (Cells(j, 42))).Delete Shift:=xlShiftUp ändern. Sie können auch xlShiftToLeft verwenden.

Möchten Sie die ganze Zeile löschen oder nur den Bereich, den Sie haben?

+0

Ich möchte nur den spezifischen Bereich zu löschen, ich glaube, das Löschen im Allgemeinen funktioniert nicht, weil ich aus der While-Schleife –

+0

Dann das oben genannte funktioniert, müssen Sie nur entscheiden, auf welche Weise Sie nach verschieben möchten es löschen. – tjb1