Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1116to1120
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
Zeilen löschen wenn...
Lasse
Hallo,
ich habe eine Tabelle in der eine Spalte "Name" enthalten ist.
In dieser Tabelle möchte ich alle Zeilen löschen, in denen bei "Name" nicht ein Name von einer Liste mit 25 Personen steht.
Vielen Dank im Voraus,
Lasse

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zeilen löschen wenn...
12.11.2009 11:11:17
Oberschlumpf
Hi Lasse
Bitte Bsp-Datei
Ciao
Thorsten
AW: Zeilen löschen wenn...
12.11.2009 11:51:23
Lasse
https://www.herber.de/bbs/user/65809.xls
Aus dieser Beispieldatei sollen alle Zeilen mit Bearbeitern außer Peter Müller und Rene Krämer gelöscht werden.
AW: Zeilen löschen wenn...
12.11.2009 12:12:50
Oberschlumpf
Hi Lasse
auch du solltest in jedem Beitrag Zeit für ein "Hallo" haben - es ist und bleibt freundlicher!
Ciao
Thorsten
AW: Zeilen löschen wenn...
12.11.2009 12:23:06
Oberschlumpf
Hi Lasse
Trag diesen Code in ein allgemeines Modul ein:
Sub sbDelete()
Dim lloZeile As Long
For lloZeile = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Range("A" & lloZeile).Value = "Peter Müller" Or _
Range("A" & lloZeile).Value = "Rene Krämer" Then
Rows(lloZeile & ":" & lloZeile).Delete Shift:=xlUp
End If
Next
End Sub
Hilfts?
Ciao
Thorsten
Anzeige
AW: Zeilen löschen wenn...
12.11.2009 12:45:42
Lasse
Hi Thorsten.
Entschuldigung das ich eben kein "Hallo" geschrieben hab. Nachdem ich die Beispieldatei erstellt hatte hab ich es einfach vergessen.
Das ist schonmal ein Anfang, aber ich brauche es genau anders herum.
In der If Bedingung wo Peter Müller und Rene Krämer stehen sollen die Zeilen nicht gelöscht werden und bei Else (also allen anderen Namen) sollen die Zeilen gelöscht werden.
Gruß,
Lasse
AW: Zeilen löschen wenn...
12.11.2009 12:54:51
Oberschlumpf
Hi Lasse
lach...ja...du hast Recht...genau so steht es auch in deinen Fragen...tschulligung...mein Fehler!
Versuch es mal so:
Sub sbDelete()
Dim lloZeile As Long
For lloZeile = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Range("A" & lloZeile).Value  "Peter Müller" And _
Range("A" & lloZeile).Value  "Rene Krämer" Then
Rows(lloZeile & ":" & lloZeile).Delete Shift:=xlUp
End If
Next
End Sub

So sollte es dein Ziel erreichen, oder?
Ciao
Thorsten
Anzeige
AW: Zeilen löschen wenn...
12.11.2009 14:31:50
Lasse
Hi Thorsten
super so funktioniert es. Es dauert zwar ein wenig bis mein Rechner das verarbeitet hat weil meine Tabelle größer ist und ich 26 Namen habe, aber es läuft! Danke!
Kann ich in das gleiche Makro jetzt noch einbauen das alle Zeilen wo "0" bei Fakturierbare Stunden steht ebenfalls gelöscht werden?
Gruß,
Lasse
AW: Zeilen löschen wenn...
12.11.2009 15:02:36
Oberschlumpf
Hi Lasse
Vielleicht so
Sub sbDelete()
Dim lloZeile As Long
For lloZeile = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Range("A" & lloZeile).Value  "Peter Müller" And _
Range("A" & lloZeile).Value  "Rene Krämer" Then
Rows(lloZeile & ":" & lloZeile).Delete Shift:=xlUp
End If
If Range("G" & lloZeile).Value = 0 Then
Rows(lloZeile & ":" & lloZeile).Delete Shift:=xlUp
End If
Next
End Sub

Ich finde in deiner Bsp-Datei keine Spalte, die "Fakturierbare Stunden" heißt, vermute aber, es handelt sich um Spalte G, weil die "Fakturierbar" heißt.
Wenn nicht, dann musst du den Code anpassen.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Zeilen löschen wenn...
12.11.2009 15:26:57
Lasse
Hi Thomas
Vielen Dank jetzt klappt alles!
Gruß,
Lasse
erst Korrektur lesen, dann abschicken
12.11.2009 16:09:18
Oberschlumpf
Hi
Wer is'n Thomas?
ciao
AW: erst Korrektur lesen, dann abschicken
12.11.2009 16:23:05
Lasse
Hi Thorsten
Das ist ein Kollege dem ich grad ne Mail geschrieben hatte. Sorry.
Gruß,
Lasse
AW: Zeilen löschen wenn...
13.11.2009 00:32:11
Daniel
Hi
schreibe die Tabelle mit den 25 Namen in eine eigene Tabelle.
füge in deiner Liste eine Hilfsspalte ein, die mit der ZählenWenn-Formel prüft, ob der Wert aus der Stpalte NAME in der Liste mti den 25 Namen vorhanden ist (das Ergebnis der Zählenwenn-Funtkion sollte 0 oder 1 sein)
dann wendest du den autofilter auf die Hilfsspalte an, so daß die zu löschenden Zeilen sichtbar sind und löschst diese.
Gruß, Daniel
Anzeige
kannst ja mal diesen Code testen,...
12.11.2009 11:25:45
Tino
Hallo,
ich bin davon ausgegangen das die Überschrift 'Name' irgendwo in Zeile 1 steht.
Option Explicit

Sub Test()
Dim MeAR(), varCol, varAnzahl
Dim A As Long, booGefunden As Boolean
Dim oSHTabelle As Worksheet
Application.ScreenUpdating = False
    
    Set oSHTabelle = Sheets("Tabelle1") 'Tabellenname anpassen 
    With oSHTabelle.UsedRange
        
        varCol = Application.Match("Name", .Rows(1), 0)
        MeAR = .Columns(varCol).Value2
        
        For A = 1 To Ubound(MeAR)
           varAnzahl = Split(MeAR(A, 1), " ")
           If Ubound(varAnzahl) = 24 Then
            MeAR(A, 1) = "=TRUE"
            booGefunden = True
           Else
            MeAR(A, 1) = "=ROW()"
           End If
        Next A
        
        If A > 1 And booGefunden Then
           With .Columns(.Columns.Count).Offset(0, 1)
                .FormulaR1C1 = MeAR
                oSHTabelle.UsedRange.Sort Key1:=.Cells(1, 1), Order1:=xlAscending, Header:=xlYes
                
                On Error Resume Next
                .SpecialCells(xlCellTypeFormulas, 4).EntireRow.Delete
                .EntireColumn.Delete
                On Error GoTo 0
           End With
        End If
    
    End With
Application.ScreenUpdating = True

End Sub
Gruß Tino
Anzeige
Vergiss es...
12.11.2009 11:56:48
Tino
Dein Beispiel ist anders wie ich verstanden habe.
Gruß Tino
AW: Vergiss es...
12.11.2009 12:00:04
Lasse
Trotzdem Danke!
Gruß,
Lasse

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige