bräuchte mal Hilfe bei folgendem Problem.
Lösche alle Zeilen in den Tabelle20 bis Tabelle159, wenn in einer Zeile mehr als einmal der Wert "0,00" vorkommt. Es betrifft die Spalten C - H.
Danke im Voraus!
Gruß aus Bremen
Bernd
Office 2016 Pro 32bit
Option Explicit
Sub Löschen()
Dim WsTabelle As Worksheet
Dim LoLetzte As Long
Dim LoI As Long
For Each WsTabelle In Worksheets
If IsNumeric(Mid(WsTabelle.Name, 8)) And Mid(WsTabelle.Name, 8) >= 20 _
And Mid(WsTabelle.Name, 8) 1 Then
Rows(LoI).Delete
End If
Next LoI
End If
Next WsTabelle
End Sub
Option Explicit
Sub Löschen()
Dim WsTabelle As Worksheet
Dim LoLetzte As Long
Dim LoI As Long
For Each WsTabelle In Worksheets
With WsTabelle
If IsNumeric(Mid(.Name, 8)) And Mid(.Name, 8) >= 20 _
And Mid(.Name, 8) 1 _
Then
Rows(LoI).Delete
End If
Next LoI
End If
End With
Next WsTabelle
End Sub
Gruß HajoSub Loeschen()
Dim WsTabelle As Worksheet
Dim LoLetzte As Long
Dim LoI As Long
For Each WsTabelle In Worksheets
With WsTabelle
If IsNumeric(Mid(.Name, 8)) And Mid(.Name, 8) >= 20 _
And Mid(.Name, 8) 1 Then
.Rows(LoI).Delete
End If
Next LoI
End If
End With
Next WsTabelle
End Sub
Sub bedingte_Zeilenloeschung()
Dim T As Integer
Dim lz As Long
Dim wks As Worksheet
Dim i As Byte
Application.ScreenUpdating = False
For i = 20 To Worksheets.Count
Worksheets(i).Activate
lz = Cells(Rows.Count, 1).End(xlUp).Rows.Row 'Ermittlung der letzten Zeile in _
Spalte C
For T = lz To 2 Step -1 'Durchlauf aller Zeilen und Zählung rü _
ckwärts bis Zeile 2
If Cells(T, 3).Value = "0,00" Then 'Abfragen, ob in der ? Spalte "was _
auch immmer" steht
Rows(T).Delete Shift:=xlUp
End If
Next T
Next i
End Sub
Was ich noch nicht hinbekommen habe ist, nicht nur eine Spalte abzufragen sondern die Spalten C bis H, denn wie im Bild zu sehen. Es müssen auch in der Zeile alle Spalten mit dem Wert nicht Zahl "0,00" vorhanden sein.Sub bedingte_Zeilenloeschung()
Dim T As Long
Dim wks As Worksheet
Dim i As Integer
Application.ScreenUpdating = False
For i = 20 To Worksheets.Count
With Worksheets(i)
'Ermittlung der letzten Zeile in Spalte C
'Durchlauf aller Zeilen und Zählung rückwärts bis Zeile 2
For T = .Cells(.Rows.Count, 3).End(xlUp).Row To 2 Step -1
'Abfragen, ob in den Spalten C:H der Text "0,00" mind. 2 x steht
If WorksheetFunction.CountIf(.Cells(T, 3).Resize(1, 6), "0,00") > 1 Then
.Rows(T).Delete Shift:=xlUp
End If
Next T
End With
Next i
End Sub