der Fehler ist also behoben, jetzt zeigt sich der nächste Fehler...
-------------
Sub cycle()
Dim ws As Worksheet
Dim Wb As Workbook
'Variable für den Dateinamen der Ausgangsdatei inkl. Pfad
Dim strOpenFile As Variant
'Quelldatei auswaehlen
strOpenFile = Application.GetOpenFilename(, , "Waehlen die aktuelle Stundenauswertungs-Exceldatei aus:")
'Falls kein Datei ausgewaehlt wurde
If strOpenFile = False Then Exit Sub
'Oeffnet die neue Datei und weist sie der Variablen wb zu.
Set Wb = Workbooks.Open(strOpenFile, UpdateLinks:=0, ReadOnly:=False)
For Each ws In Wb.Sheets()
' If InStr(",ReadMe,Projektliste,change history,Summe Verrechnung,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,P17,P18,P19,P20,P21,P22,P23,P24,P25,P26,P27,P28,P29,P30, ", "," & ws.Name & ",") = 0 Then
'Visibility des Tabellenblatts speichern und Tabellenblatt einblenden
vis = ws.Visible
ws.Visible = xlSheetVisible
'löschen bestimmter Zeilen
With ws.Range("A30")
If .Text = "SALSA" Or .Text = "Salsa" Or .Text = "kein Konto" Or .Text = "9182613200" Then Parent.Range("A30:S30").Delete
End With
MsgBox ws.Name
With ws.Range("A29")
If .Text = "SALSA" Or .Text = "Salsa" Or .Text = "kein Konto" Or .Text = "9182613200" Then Parent.Range("A29:S29").Delete
End With
MsgBox ws.Name
With ws.Range("A28")
If .Text = "SALSA" Or .Text = "Salsa" Or .Text = "kein Konto" Or .Text = "9182613200" Then Parent.Range("A28:S28").Delete
End With
MsgBox ws.Name
'(... bis A6 geht das weiter , 3 Zeilen als Beispiel reicht)
Next ws
End Sub
---------------
was passiert ist, die Masgbox zeigt mir das Sheet an welches getestet wird, gelöscht werden aber die zeilen des ersten sheets... irgendwie muß da noch was rein das sagt: starte mit der ersten seite, aktiviere das nächste sheet, arbeite da den loop nochmal durch.
|