Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Zeilen löschen, wenn diese bestimmte Kriterien nicht erfüllen

Frage Microsoft Microsoft Office

Mitglied: arndttob

arndttob (Level 1) - Jetzt verbinden

10.03.2010, aktualisiert 13:29 Uhr, 10925 Aufrufe, 6 Kommentare

Hallo Programmierer,
ich habe wiedermal eine Bitte an euch.
Habe versucht mir die Antworten per Google einzuholen, hat aber nichts geholfen.
Nun hoffe ich auf eure Hilfe

undzwar habe ich eine Tabelle mit etlichen Zeilen und viele davon werden nicht benötigt.

Über Spalte E sollen alle Zeilen gelöscht werden, welche NICHT "1, 5, 12 oder 15" enthalten.

Könnt Ihr mir bei dem Problem helfen?
Wäre euch sehr dankbar.

Viele Grüße
Tobi
Mitglied: H41mSh1C0R
10.03.2010 um 14:20 Uhr
Hallo Tobi,

Was brauchst du alles?:

- eine Schleife die deine Spalte E durchläuft bis der letzte Eintrag erreicht ist
- Wertevergleich der die Zelle mit 1, 5, 12 oder 15 vergleicht
- Befehl zum Zeile entfernen
Rows("zeile:zeile").Select
Selection.Delete Shift:=xlUp

Das Ganze packst du in ein Makro und führst es aus =).

Kleiner Tip: für viele Sachen ist der Makrorecorder dein Bester Freund.

Grüße
Bitte warten ..
Mitglied: 76109
10.03.2010 um 14:32 Uhr
Hallo Tobi!

In Spalte E wird der Inhalt mit den Suchbegriffen im Suchtext (durch Kommata getrennt) verglichen.

Im Suchtext kann auch das "*"-Zeichen für einen Teil-Text-Vergleich verwendet werden z.B.:
Suchtext = "Clienttest, Clientv3, EUC, EUC_I_IS, EUC_CU_SFS" oder Suchtext = "Client*, EUC*"

Oder z.B. "Das ist ein Wort innerhalb eines Textes"
Suchtext = "*Wort*"
wird auch als Übereinstimmung gewertet.

Außerdem stehen noch das "?"-Zeichen für 1 beliebiges Zeichen und das Zeichen "#"-Zeichen für 1 beliebigen numerischen Wert zur Verfügung.

Quellcode im VB-Editor in ein Modul kopieren und Konstanten entsprechend anpassen:
01.
Option Explicit 
02.
Option Compare Text 
03.
 
04.
Const SheetNamen = "Tabelle1" 
05.
Const SuchSpalte = "E" 
06.
 
07.
Const Suchtext = "Clienttest, Clientv3, EUC, EUC_I_IS, EUC_CU_SFS" 
08.
 
09.
Sub DeleteLine() 
10.
    Dim Text As Variant, Found As Boolean, i As Long, EndLine As Long, s As Integer 
11.
     
12.
    Sheets(SheetNamen).Activate 
13.
     
14.
    EndLine = Cells(Rows.Count, SuchSpalte).End(xlUp).Row 
15.
     
16.
    Text = Split(Suchtext, ",") 
17.
     
18.
    Application.ScreenUpdating = False 
19.
 
20.
    For i = 1 To EndLine 
21.
        If i > EndLine Then Exit For 
22.
        Found = False 
23.
        For s = 0 To UBound(Text) 
24.
            If Cells(i, SuchSpalte) Like Trim(Text(s)) Then Found = True:  Exit For 
25.
        Next 
26.
        If Found = False Then Rows(i).Delete:  i = i - 1:  EndLine = EndLine - 1 
27.
    Next 
28.
    Application.ScreenUpdating = True 
29.
End Sub
Gruß Dieter

PS. Also der Beitrag wurde geändert und mein Code-Beispiel entspricht dem vorherigen Text???? Ist aber auch egal
Bitte warten ..
Mitglied: arndttob
10.03.2010 um 14:33 Uhr
Hallo H41mSh1C0R

ich würde es am Liebsten so haben:
Zeile 1 Spalte G wird angeschaut
Wenn dieser Eintrag keine 1, 5, 12 oder 15 ist, wird die gesamte Zeile gelöscht.
Zeile 2 Spalte G wird angeschaut
Wenn dieser Eintrag keine 1, 5, 12 oder 15 ist, wird die gesamte Zeile gelöscht.
Zeile 3 Spalte G...
usw

Mit dem Makrorecorder habe ich mich auch schon auseinander gesetzt.
Aber bei ca. 300 Zeilen ist das eine happige Angelegenheit

Aber auf jedenfall vielen Dank für deine Hilfe
Bitte warten ..
Mitglied: RedWraith
10.03.2010 um 14:33 Uhr
Also, wenn zum Beispiel in E:36 eine "15" steht, dann soll die gesamte Zeile 36 entfernt werden ?

ZOMG: Während Ich mein Miniposting geschrieben habe, waren jede Menge andere Leute schneller...
Bitte warten ..
Mitglied: arndttob
10.03.2010 um 15:02 Uhr
Super genau so wollte ich es haben @ didi

vielen Dank für eure schnelle spitzenmäßige Hilfe ;)

Habt Dank
Gruß
Tobi
Bitte warten ..
Mitglied: 76109
10.03.2010 um 15:05 Uhr
Hallo Tobi!

Yepp, gern geschehen

Gruß Dieter

PS. Zeile 14 geändert von Spalte A nach SuchSpalte
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst Vbscript bestimmte Zeile ungeachtet der Nummerierung löschen (4)

Frage von aletri zum Thema VB for Applications ...

Batch & Shell
gelöst In allen Textdateien eines bestimmten Pfades die Zeilen x bis Ende löschen (2)

Frage von Schloth zum Thema Batch & Shell ...

Batch & Shell
Powershell - Zeilen in einer csv löschen bis (7)

Frage von Franz-Josef-II zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (22)

Frage von NoHopeNoFear zum Thema LAN, WAN, Wireless ...

Drucker und Scanner
Erfahrungen mit Enterprise-Tintenstrahldruckern A4 und A3 (14)

Frage von User1000 zum Thema Drucker und Scanner ...

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...