Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1580to1584
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

Sortierproblem

Sortierproblem
21.09.2017 12:13:19
Hamzah
Hi
Ich habe zwar schon einen sehr guten Beitrag gelesen, den ich auch anwenden kann, aber es stellt sich auch bei mir das Problem der "scheinbaren" Leerzeilen an das Ende zu sortieren.
Derzeit habe ich einen VBA Code zum automatischen sortieren in Verwendung.
Hintergrund:
Arbeitsmappe mit mehreren Arbeitsblättern: Name und Betrag.
Im Blatt "Betrag" werden Namen in Spalten einmalig eingegeben (Name, Vorname, Geburtsdatum, u.a und eine fixe Nummer in "A" zugewiesen
Im Blatt "Name" gebe ich den Datensatz mit SVerweis über diese fixe Nummer in Spalte A ein (füllt dann automatisch die nächsten Spalten mit den Personaldaten aus. D.h. so kann ich die gleiche Person mehrmals eingeben, brauche aber immer nur die zugewiesene Zahl eingeben.
Nun - die Personen wechseln natürlich immer wieder und geraten durcheinander. Daher verwende ich den nachfolgenden Code, der mir den neuen Eintrag dann automatisch an die richtige Stelle und alphabetisch nach Familienname ("Spalte B" ab B2)einsortiert. Das funktioniert tadellos. Bitte nach dem Code weiterlesen!
Private Sub Worksheet_Change(ByVal Target As Range)
'Beschränken der Makroausführung auf den Bereich A2 bis O5000
If Not Application.Intersect(Target, Range("A2:O5000")) Is Nothing Then
'Bereich, auf den sich die Sortierung auswirken soll
Range("A2:O5000").Select
'Sortierkriterien
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
'Zelle B2 auswählen
Range("B2").Select
End If
End Sub
Jetzt passiert folgendes:
der neue Eintrag wird richtig einsortiert und schwupps, alle "Leerzeilen" wandern nach oben,weil eben die Leerzeilen nicht wirklich leer sind, sondern Formeln enthalten, die sowas wie #NV anzeigen, aber per Formel ausgeblendet sind. # kommt aber beim sortieren vor A, daher sind die Leerzeilen auch oben.
Ich will die aber nach dem automatischen Einsortieren UNTEN haben und auch unten bleiben lassen.
Wie würde mein oben funktionierender Code erweitert werden müssen, um das zu bewerkstelligen bzw. ein zusätzlicher Code im Anschluss an diesen ausschauen? Der Sortierbereich geht mittlerweile von A2:L2000 - zeilenweise, da zusammengehörender Datensatz.
Zusatzinfo:
In Spalte O habe ich momentan eine simple Sortierformel drin, die einfach den scheinbar leeren _
Zeilen eine 2 zuweist, wenn leer, und eine 1 wenn Daten da sind. Aufsteigend sortiert, oder besser gefiltert, stehen die Daten (1) oben und die "leeren" unten. Leider verträgt sich das mit dem Code vom automatischen sortieren nicht und wird daher ignoriert, daher will ich das weglassen und mit einem Zusatzcode oder adaptierten Code lösen, weil diese Filterung natürlich bei Eingabe des nächsten Datensatzes wieder weg ist und die Leerzeilen oben.
Die Überschriftenzeile soll natürlich oben bleiben und die Filterfunktion davon unberührt bleiben.
Für etwas Hilfe wäre ich dankbar. Ein Upload ist leider nicht möglich, da dienstl. Datenschutz und außerdem riesige Datei (Fotos eingebettet - daher auch meine Beschreibung so umfangreich. Sorry! Antwort bitte (auch) per Mail:crocoxyz@gmail.com
lg
Hamzah

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sortierproblem
21.09.2017 13:05:08
Hamzah
Noch ein Nachtrag:
Beim automatischen Einsortieren berücksichtigt Excel derzeit nur die Familiennamen in der Spalte B und keine Vornamen. Bei gleichen Familiennamen, aber unterschiedlichen Vornamen wäre es ideal, wenn die Einsortierung entsprechend den Vornamen (bei gleichem Familiennamen) erfolgen würde.
zB Bei MÜLLER gibt es einen Adolf, einen Heinz, einen Leopold und einen Richard. Die sollen natürlich nacheinander sortiert werden aber zusätzlich eben nach den Vornamen alphabetisch. Vor allem wenn bei einem oder mehreren zusätzliche Einträge erfolgen, dann sollen alle Einträge zu MÜLLER Heinz auch nacheinander aufscheinen und nicht mit den anderen gemischt. Vielleicht dazu auch noch eine Idee, das im Code zu berücksichtigen?
Anzeige
AW: Sortierproblem
21.09.2017 14:14:46
Hamzah
@yummi
Vielen Dank für Deine Rückmeldung. Diesen Beitrag habe ich schon davor gesehen und auch versucht anzuwenden. Leider hat das nicht funktioniert. Ich habe zwar die Parameter auf meine Zellbereiche adaptiert, aber leider hat das gar nichts bewirkt. Die Leerzellen bleiben nach wie vor oben und das autosortieren geht jetzt gar nicht mehr.
Mein vorheriger Code hat zumindest das Autosortieren gut hingekriegt aber eben die Leerzeilen nicht runter, zudem hab ich noch das Vornamenproblem.
lg
Hamzah
Anzeige
AW: Sortierproblem
21.09.2017 14:17:44
yummi
Hallo Hamzah,
ich weiß, dass meien Glaskugel ziemlich trübe ist und ide der anderen wahrscheinlich auch.
Was für eine Lösung strebst Du denn an? und wie sehen die Daten aus?
Gruß
yummi
AW: Sortierproblem
21.09.2017 15:04:24
Hamzah
@yummi
Ich habe versucht, dass in meinem Erstbeitrag einigermaßen einfach zu schildern. die Excel besteht im Wesentlichen aus 2 Arbeitsblättern, die "Name" und "Betrag" heißen. In "Betrag" gibt es die 4 wichtigen Spalten mit der lfd. Nummer, dem Familiennamen, Vornamen und Geburtsdatum, und noch ein paar andere Datenfelder. In "Name" gibt es in "A" eine Leerzelle, in "B:D ist jeweils eine SVERWEIS Formel drin, welche die Daten aus "Betrag" nach Name übernimmt, wenn in "Name" Spalte A die lfd. Nummer eingetragen wird.
Beispiel: in "Betrag" lege ich eine neue Person an: Spalte A lfd Nummer 10, Spalte B MÜLLER, Spalte C Kurt; Spalte D 12.03.1967.
Wenn ich jetzt in "Name" in Spalte "A" die lfd Nummer 10 eingebe, befüllen sich die Spalten B:D automatisch mit Familienname, Vorname und Geburtsdatum. Die weiteren Spalten werden manuell befüllt.
Für diese neuen Einträge in "Name" sind ca 600 Zeilen mit diesen SVERWEIS Formel schon vorbereitet und die Leerwerte (#NV) sind ausgeblendet (werden nur angezeigt, wenn Spalte A einen Eintrag bekommt)- =WENN(A12="";"";SVERWEIS(A12;Betrag!$A$2:$D$998;2;WAHR)) ----- Das ist ein Beispiel zur Übernahme des Familiennamens in "Name" Spalte 2 (B. So sehen auch die Formeln für Spalte 3 und 4 aus (B+C)
Userbild
Jetzt soll der neue Zeileneintrag natürlich in die bestehenden Einträge alphabetisch eingeordnet werden. Das hat der von mir mitgesendete Code gut gemacht, aber er hat nicht berücksichtigt, dass dabei die "Leerzeilen", die ja mit dem Sortieren zwangsläufig nach oben wandern an das Ende wandern und auch nicht, dass bei gleichen Familiennamen, die Sortierung innerhalb dieses Familiennamens nach den Vornamen erfolgen soll. Ich habe einen Dateiausschnitt als JPG beigefügt.
Würde ich jetzt einen neuen Datensatz für PAJKOVIC Slavko anlegen, soll der natürlich zu den anderen Slavko's einsortiert werden und nicht zwischen den Lydia's :-)
Von diesen "Leerzeilen" gibt es derzeit ca. 600 in Vorbereitung, weil fast täglich so zwischen 5 und 10 neue Einträge, eben auch mit bereits vorhandenen Namen, dazu kommen. Daher gibt es einen Namen mitunter bis zu 100 Mal. Und gleiche Familiennamen gibt es auch mehrfach. Das oa Beispiel für PAJKOVIC ist ein Paradebeispiel, da habe ich 6 verschiedene Vornamen mit jeweils bis zu 15 Einträgen. Und die sollen einfach beisammen sein nach der Sortierung. Und diese 600 Zeilen wandern eben nach oben, weil der Zellinhalt nicht wirklich leer ist sondern die SVERWEIS Formel enthält. Das Zeichen #NV wird von Excel offensichtlich vor den Buchstaben gereiht.
Ich hoffe, ich konnte es einigermaßen schlüssig erklären.
lg
Hamzah
Anzeige
AW: Sortierproblem
21.09.2017 15:23:50
yummi
Halo Hamzah,
soll das ganze ne Formellösung werden oder soll es eine VBA lösung werden?
ohne unfreundlich oder barsch rüberzukommen (was hier auch schon vorgekommen ist) aber Bilder können hier glaube ich nur die allerallerwenigsten programmieren.
Wenn du also wirklich Hilfe willst, wäre ein Beispieldatei hilfreich.
Gruß
yummi
AW: Sortierproblem
21.09.2017 15:39:21
Hamzah
@yummi
Naja, mit den Formeln denke ich wird es nicht gehen, weil ich nicht sicher bin, ob diese Kriterien in einer Formel untergebracht werden können. Daher wird man um VBA nicht rumkommen.
Wenn mein Ziel aus meiner Beschreibung nicht klar genug ist, und das soll keinesfalls zynisch gemeint sein, dann werde ich eine Dateikopie eben kurz ausmisten, bis auf die Spalten die ich zum sortieren brauche. Kann etwas dauern. Die Arbeitsdatei hat ja fast 10MB. Durch die ganzen Zellbezüge auf insgesamt 12 Arbeitsblättern weiß ich noch nicht genau, welche Auswirkungen diese Bereinigung haben wird :-)
Natürlich will ich eine Lösung und bin für jede Hilfe dankbar!
Meiner bescheidenen Meinung nach war ich wirklich überzeugt, man könnte den Code aus meinem Erstbeitrag um diese Leerzeilen-ans-Ende Codierung ergänzen, bzw. eine Lösung für die Vornamen einarbeiten. Aber so stellt sich der kleine Maxi eben die große (Excel-) Welt vor :-)
lg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige