Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeile löschen, wenn in Zelle "40477E4-T" vorkommt?

Zeile löschen, wenn in Zelle "40477E4-T" vorkommt?
Selma
Hallo Leute,
wenn in Spalte B in Zelle dies "40800E4-T" enthalten ist, dann soll die Zeile gelöscht werden.
Die letzte Zelle mit Inhalt kann in Spalte A ermittelt werden.
Wie mache ich das per VBA?
Besten Dank im Voraus!
Viele Grüße,
Selma
Anzeige
AW: Zeile löschen, wenn in Zelle "40477E4-T" vorkommt?
06.08.2009 09:44:46
Tino
Hallo,
gerade unten ein ähnliches Makro gehabt, Tabellenname im Code noch anpassen.
Sub Loesche_Wenn_B_40800E4T()
Dim iCalc As Integer
Dim Sh_Tabelle1 As Worksheet

Set Sh_Tabelle1 = Sheets("Tabelle1") 'Deine Tabelle anpassen 

With Application
 iCalc = .Calculation
 .ScreenUpdating = False
 .EnableEvents = False
 .Calculation = xlCalculationManual

    With Sh_Tabelle1.UsedRange
     With .Columns(.Columns.Count).Offset(0, 1)
        '=WENN($B2="40800E4-T";WAHR;ZEILE()) 
        .FormulaR1C1 = "=IF(RC2=""40800E4-T"",TRUE,ROW())"
        Sh_Tabelle1.UsedRange.Sort .Cells(1, 1), xlAscending, , , , , , xlNo
        On Error Resume Next
        .Cells.SpecialCells(xlCellTypeFormulas, 4).EntireRow.Delete
        On Error GoTo 0
        .EntireColumn.Delete
     End With
    End With
    
 .ScreenUpdating = True
 .EnableEvents = True
 .Calculation = iCalc
End With
End Sub
Gruß Tino
Anzeige
AW: Zeile löschen, wenn in Zelle "40477E4-T" vorkommt?
06.08.2009 09:56:31
Selma
Hallo Tino,
bei mir werden die Zeilen nicht gelöscht. Die Tabelle habe ich angepasst.
VG,
Selma
AW: Zeile löschen, wenn in Zelle "40477E4-T" vorkommt?
06.08.2009 10:06:59
Tino
Hallo,
lade mal ein kleines Beispiel.
Gruß Tino
Kleine Änderung
06.08.2009 10:11:52
Erich
Hi Selma,
änder mal

.FormulaR1C1 = "=IF(RC2=""40800E4-T"",TRUE,ROW())"
' in:
.FormulaR1C1 = "=IF(ISERROR(FIND(""40800E4-T"",RC2)),ROW(),TRUE)"
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Kleine Änderung
06.08.2009 12:24:41
Daniel
HI
ich mag keine Fehler, spricht was gegen:
.FormulaR1C1 = "=IF(CountIF(RC2;(""*40800E4-T*""),TRUE,ROW())"
andererseits, wenn die Datenmenge nicht allzugross ist, könnte man auch einfach den Autofilter entsprechend setzen und dann die Sichtbaren Zeilen löschen.
Das kann man sich auch mit dem Recorder einfach aufzeichnen.
Gruß, Daniel
Anzeige
kann nicht gehen...
06.08.2009 13:08:08
Tino
Hallo,
, setze das Format der Zellen rechts von Deiner Tabelle auf Standard nicht auf Text.
Gruß Tino
AW: kann nicht gehen...
06.08.2009 13:15:06
Tino
Hallo,
oder mach es so.
Sub Loesche_Wenn_B_40800E4T()
Dim iCalc As Integer
Dim Sh_Tabelle1 As Worksheet

Set Sh_Tabelle1 = Sheets("Tabelle2") 'Deine Tabelle anpassen 

With Application
 iCalc = .Calculation
 .ScreenUpdating = False
 .EnableEvents = False
 .Calculation = xlCalculationManual

    With Sh_Tabelle1.UsedRange
     With .Columns(.Columns.Count).Offset(0, 1)
        .Cells.NumberFormat = "General"
        .FormulaR1C1 = "=IF(ISERROR(FIND(""40800E4-T"",RC2)),ROW(),TRUE)"
        Sh_Tabelle1.UsedRange.Sort .Cells(1, 1), xlAscending, , , , , , xlNo
        On Error Resume Next
        .Cells.SpecialCells(xlCellTypeFormulas, 4).EntireRow.Delete
        On Error GoTo 0
        .EntireColumn.Delete
     End With
    End With
    
 .ScreenUpdating = True
 .EnableEvents = True
 .Calculation = iCalc
End With
End Sub
Gruß Tino
Anzeige
AW: Autofilter rulez!!!!
06.08.2009 13:54:59
Daniel
Hi Selma,
warum nicht einfach so:
Sub Makro1()
With ActiveSheet.UsedRange
.AutoFilter Field:=2, Criteria1:="=*40800E4-T*", Operator:=xlAnd
.Offset(1, 0).SpecialCells(xlCellTypeVisible).Delete
.AutoFilter
End With
End Sub
aber für so einfache Makros zu schreiben bist du doch eigentlich lang genug dabei.
der Makrorecorder hilft ja auch dabei.
Gruß, Daniel
Anzeige
AW: Autofilter rulez!!!!
06.08.2009 17:02:30
Selma
Vielen Dank an Alle !
Viele Grüße,
Selma
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige