Hallo Claus,
vielen Dank für diesen Vorschlag. das klappt so auch, allerdings verhaspelt er sich beim 3. Makro. Das heißt während er das 1. Makro sowie das zweite perfekt hintereinander ausführt, wirft er mir beim dritten einen Fehler aus.
Er löscht dann auch die erste Zeile (Spaltenüberschriften).
Ich vermute da interferiert etwas in den Makros 2 und 3.
So sehen die Makros nach Umsetzung Deiner Anweisung aus:
Sub Aus_FARMS_Einfügen()
'
' Aus_FARMS_Einfügen Makro
' Fügt ungefilterete Rohdaten aus FARMS ein und eliminiert die Überschrift
'
' Tastenkombination: Strg+o
'
Range("B3").PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Rows("3:3").Delete Shift:=xlUp
Zeilen_weg
End Sub
Sub Zeilen_weg()
Dim TB, RR As Double, i As Double, ZE As Integer, Sp1 As Integer, Sp2 As Integer
Application.ScreenUpdating = False
ZE = 3 'wegen Überschrift
Sp1 = 11
Sp2 = 12
With ActiveWorkbook.Sheets("Vorbereitung")
RR = .Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile des gesamten Blattes
For i = RR To ZE Step -1
If .Cells(i, Sp1) <> "" Or .Cells(i, Sp2) <> "" Then
.Rows(i).Delete xlUp
End If
Next
End With
ZeilenLöschen
End Sub
Sub ZeilenLöschen()
Dim varDaten As Variant
Dim LRow As Long
Dim i As Integer
'Hier die Werte eingeben, bei denen gelöscht werden soll
varDaten = Array("LSH", "H03", "Y04", "Y08")
With ActiveWorkbook.Sheets("Vorbereitung")
LRow = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 7 To 8
'Hier Bereich anpassen
.Range("A1:Z" & LRow).AutoFilter Field:=i, _
Criteria1:=varDaten, Operator:=xlFilterValues
.Range("A2:A" & LRow).SpecialCells(xlCellTypeVisible) _
.EntireRow.Delete
.ShowAllData
Next
.AutoFilterMode = False
End With
End Sub
Fehleranzeige:
.ShowAllData (gelb markiert)
Gruß Hakan