Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1304to1308
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
Inhaltsverzeichnis

Namen finden und löschen mit ganzer Zeile

Namen finden und löschen mit ganzer Zeile
20.03.2013 18:00:40
Kampe
Servus Leute,
Hab da ein Makro erstellt (*stolz*). Und das funktioniert sogar!!!
Das soll alle unten angegebenen Namen aus Spalte K auslesen und wider geben.
Problem:
Manchmal kommt es vor, dass es einen Namen NICHT gibt (in dem Fall z.B. die Marta).
Dann spuckt Excel mir gar nichts aus, obwohl die anderen Namen existieren.
Was mach ich denn da falsch?! Weiß jemand des Rätsels Lösung?!
Zitat:

Sub Makro3()
ActiveSheet.Range("$A$1:$R$139").AutoFilter Field:=11, Criteria1:=Array( _
"Musert, Marta*" & Chr(10) & "*", _
"Haeusler, Timo*" & Chr(10) & "*", _
"Miller, Nina*" & Chr(10) & "*", _
"Bauer, Lutz*" & Chr(10) & "*"), Operator:=xlFilterValues
End 

Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namen finden und löschen mit ganzer Zeile
20.03.2013 20:52:51
Matze
Hallo Kampe, ? Vorname ?
das mit dem Criterial1 kenne ich so nicht , bin ich auch nicht der Fachmann für.
Was passiert wenn du dies denn mit dem Makrorecorder aufzeichnest?
Besser noch stell das Makro mal ein wenn du es aufgenommen hast.
Warum unbedingt per VBA , die paar Häkchen kann man auch prima manuell setzen.
Matze

AW: Namen finden und löschen mit ganzer Zeile
21.03.2013 08:37:26
Klaus
Hallo [Vorname],
wenn du als Filterkriterium xlFilterValues nutzt, kannst du die Suchbegriffe nicht funktioniertend mit *chen erweitern. Dafür brauchst du den xlAnd.
Wenn du allerdings xlAnd benutzt, dann funktioniert bei Criteria1:= das Array nicht mehr ... soweit ich weiss, kannst du per xlAnd nur zwei "*contains*" insgesamt verknüpfen.
Lösung1:
Mach eine Hilfsspalte, in der steht WAHR wenn in einer deiner Zellen ein gesuchter Name vorkommt - sonst FALSCH. zB so: =ODER(A6="Musert, Marta";A6="Miller, Nina";A6="Bauer, Lutz")
Diese Spalte blendest du aus, wenn du möchtest. Der Autofilter läuft jetzt auf die Hilfsspalte auf den Suchbegriff WAHR
Pro: sehr schnell, da Autofilter genutzt wird
Contra: nicht elegant, da Hilfsspalte benötigt
Lösung2:
Schreibe ein VBA-Makro, dass erst alles im Suchbereich einblendet, dann Zeilenweise die Namen prüft und bei nichtgefallen ausblendet.
Pro: keine Hilfsspalte in der Datei, keine Formeln die ein DAU-User überschreiben könnte
Contra: bei großen Datenmengen sehr langsam
Lösung3 unter Vorbehalt:
der Spezialfilter könnte dafür geeigneter sein, aber mit dem kenne ich mich nicht aus.
Grüße,
Klaus M.vdT.

Anzeige
AW: Namen finden und löschen mit ganzer Zeile
21.03.2013 09:19:52
Kampe
@ Matze
der Code ist mit einem Makro aufgenommen worden ;-) Das Sternchen habe ich gesetzt, da es die Namen häufiger gibt, aber mit unterschiedlichen Telefonnummern.
Und einfach mal so ein Häkchen setzen ist bei 200 Namen dann doch sehr aufwendig ;-)
@Klaus
Das Problem ist, dass die Spalte sich täglich ändert und somit auch die Reihenfolge. Der Code funktioniert ja einwandfrei, auch mit Sternchen. Nur, wenn mal ein Name nicht dabei ist, dann zeigte r auf einmal gar keine Namen mehr an. Also die, die existieren zeigt er dann auch nicht an. Kann man das irgendwie verbinden mit einem "OR" oder so?
Zu Lösung 1:
Wie sähe da denn dann der Code aus? Ich bin leider kein VBA Crack. Makros setzen und dann a bissal am Code rumschrauben kann ich, aber das war´s dann auch :-((((((

Anzeige
AW: Namen finden und löschen mit ganzer Zeile
21.03.2013 10:34:46
Klaus

Zu Lösung 1:
Wie sähe da denn dann der Code aus? Ich bin leider kein VBA Crack. Makros setzen und dann a bissal am Code rumschrauben kann ich, aber das war´s dann auch :-((((((
Hallo Kampe,
die Lösung hat doch kaum was mit VBA zu tuen! Mache eine HILFSSPALTE, in der WAHR Oder FALSCH steht.
Das Sternchen habe ich gesetzt, da es die Namen häufiger gibt, aber mit unterschiedlichen Telefonnummern.
Bahnhof. Stehen in der Zelle Namen, oder Namen UND Telefonnummern? Ich glaube es ist an der Zeit, dass du mal ein Musterblatt hochlädst!
Falls du wirklich Namen UND telefonnummern in EINER Zelle hast, dann solltest du vielleicht deinen Tabellenaufbau überdenken.
Grüße,
Klaus M.vdT.

Anzeige
AW: Namen finden und löschen mit ganzer Zeile
22.03.2013 09:52:23
Kampe
Hi Klaus,
das Problem ist, dass ich die Namen so aus einem System generiert bekomme und zwar täglich. Diese alte Datei wird durch die neue ersetzt. Somit hab ich weder Einfluss auf den Tabellenaufbau noch lohnt es sich eine extra Spalte einzufügen, da sie ja jedes mal wieder überspeichert wird udn weg ist :-(
In Spalte K stehen Namen meist wie folgt aufgelistet:
Max Mustermann, Abteilung +49 Telefonnummer
Oftmals tritt ein Name auch auf OHNE eine Telefonnumer, oder in Verbindung mit einem anderen Namen (z.B.):
Max Mustermann, Abteilung, Marta Meyer, Abteilung +49 Telefonnummer
Daher habe ich das Sternchen gesetzt, um Excel zu sagen:
Bitte finde alle "Max Mustermann" und lösche die anderen im Anschluss.
Hab jetzt einen anderen Code gefunden, der das Ganze anders rum löst (ist allerdings etwas umständlich aber funzt).
Finde alle die NICHT "Max Mustermann" heissen und lösche diese.
Ist aufwendiger, da ich ALLE Namen die es gibt, eintragen musste und auch immer wieder mal welche dazu kommen, die ich dann wieder nachtragen muss. Aber immerhin.
Falls es Euch interessiert, hab ich Ihn mal mit angehängt.
Solltet Ihr eine andere, elegantere Lösung haben, würde ich mich freuen, wenn Ihr mich teil haben lässt.
  • 
    Sub Open_Workbook()
    On Error GoTo Errexit
    With Columns(11)
    .Replace "Pichler, Ronald*", True
    ......Weitere Namen..........
    .SpecialCells(xlCellTypeConstants, xlLogical).EntireRow.Delete
    End With
    Exit Sub
    Errexit: MsgBox "keine Löschwerte gefunden."
    End Sub
    
  • LG Sandra ;-)
    Anzeige

    316 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige