Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
600to604
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
600to604
600to604
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeilen löschen wenn mit VBA

Zeilen löschen wenn mit VBA
22.04.2005 13:17:25
hans
Hallo liebe Excelfreunde,
habe die folgende Tabelle: Aus dieser Tabelle sollen in einem Vorgang die Datensätze gelöscht mit OP werden, falls der Vorgang sowohl den Status OP als auch OK hat. In der unten stehenden Tabelle müssten die OP-Datensätze aus den Vorgängen 1 und 4 gelöscht werden.
Weiß jemand hierzu eine VBA Lösung??
Vielen Dank im voraus
HP

Vorgang Status
1 OP
1 OP
1 OP
1 OP
1 OK
1 OK
1 OK
1 OK
2 OK
2 OK
3 OP
3 OP
4 OP
4 OP
4 OK
4 OK

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen wenn mit VBA
22.04.2005 14:02:59
hans
Hallo Gunnar,
ich hätte eine VBA Lösung. Weiß du wie es geht
AW: Zeilen löschen wenn mit VBA
22.04.2005 14:45:12
hans
hallo gunna,
sorry, aber ich habe es nicht verstanden. Wo ist denn hier ein VBA zu meinem Fall??
Viele Grüße
hans
AW: Zeilen löschen wenn mit VBA
22.04.2005 19:39:43
ransi


      
hallo hans
ist zwar ganz schön holprig, aber versuch mal diesen ansatz.
für den bereich A2:A1000
es werden 2 hilfspalten benötigt die sich selber wieder  löschen.
Die liegen 
in C und D.
sorg also 
in deiner originaldatei dafür das dort nichts drin steht, oder pass den code auf andere spalten an.
Option 
Explicit

Public Sub t()
Dim L As Long
Application.Calculation = xlCalculationManual
For L = 1000 To 2 Step -1
    Range(
"C" & L) = Range("A" & L) & Range("B" & L)
    Range(
"D" & L).FormulaR1C1 = "=AND(COUNTIF(R2C3:R1000C3,RC[-3]&""OP"")>0,COUNTIF(R2C3:R1000C3,RC[-3]&""OK"")>0,RC[-2]=""OP"")"
Next
Application.Calculate
For L = 1000 To 2 Step -1
    
If Range("D" & L).Value = True Then
        Rows(L).Delete
    Else:
        Range(
"D" & L).ClearContents
        Range(
"C" & L).ClearContents
    
End If
Next
Application.Calculation = xlCalculationAutomatic
End Sub
ransi 


Anzeige
AW: Zeilen löschen wenn mit VBA
23.04.2005 16:34:21
WernerB.
Hallo Hans,
wie gefällt Dir das?

Sub Hans()
Dim SuBe As Range, _
s As String, fiAd As String, _
i As Long, laR1 As Long, laR2 As Long
Application.ScreenUpdating = False
laR1 = Cells(Rows.Count, 2).End(xlUp).Row
For i = laR1 To 1 Step -1
If Cells(i, 2).Value = "OP" Then
s = Cells(i, 1).Text
laR2 = Cells(Rows.Count, 2).End(xlUp).Row
With Range("A1:A" & laR2)
Set SuBe = .Find(What:=s, After:=Range("A" & laR2), LookAt:=xlWhole)
If Not SuBe Is Nothing Then
If SuBe.Offset(0, 1).Text = "OK" Then
Rows(i).Delete
Else
fiAd = SuBe.Address
Do
Set SuBe = .FindNext(SuBe)
If Not SuBe Is Nothing Then
If SuBe.Address <> fiAd Then
If SuBe.Offset(0, 1).Text = "OK" Then
Rows(i).Delete
Exit Do
End If
End If
End If
Loop While Not SuBe Is Nothing And SuBe.Address <> fiAd
End If
End If
End With
Set SuBe = Nothing
End If
Next i
Application.ScreenUpdating = True
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige