Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
804to808
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
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Liste sortieren

Liste sortieren
30.09.2006 20:01:20
Stefan Schumann
Hallo zusammen,
als Klassenlehrer habe ich gerade am Schuljahresanfang viele Listen zu verwalten (Bücherausgabe, Schulbescheinigungen usw.).
Dazu habe ich in einer Excel-Tabelle mittlerweile eine ganze Reihe von Tabellenblättern angelegt. Sie greifen alle auf fünf Grundtabellen zu, in denen die wichtigsten Informationen abgelegt sind.
Die Klassenliste ist nach den Nachnamen/Vornamen der Schüler alphabetisch aufsteigend sortiert. Ich könnte nun die Informationen dieses Blattes kopieren und die Inhalte in einem neuen Blatt wieder einfügen, um die Daten anhand der Betriebe der Schüler zu sortieren. Dann müßte ich aber jedesmal, wenn es eine Änderung gibt, zwei Tabellenblätter aktualisieren. Ziel ist es aber, für die Zukunft möglichst wenig Zeit mit Verwaltungs''kram'' verbringen zu müssen.
Daher die Frage: wie kann ich die Daten im Tabellenblatt 'Schülerdaten' in einem anderen Tabellenblatt 'Schüler nach Betrieben' so sortieren, dass die erste Sortierung nach Betrieben, die zweite nach den Nachnamen und die dritte nach den Vornamen der Schüler geschieht (evtl. noch die vierte nach den Geburtstagen).
Unter excelformeln.de habe ich schon einige Formel ausprobiert, habe das aber nie so hinbekommen.
Vielen Dank für Hinweise.
Gruß,
Stefan

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Liste sortieren
30.09.2006 21:46:44
ingUR
Hallo, Stefan,
für mich ist die von Dir beschriebene Aufgabenstellung und auch die Ausgangslage nicht ganz klar, so dass ich nicht weiß, ob die Empfehlung, Dir die Möglichkeiten von Pivot-Tabellen anzusehen, erfolgversprechned ist.
Vielleicht ist eine Beispieldatei, aus der Struktur und Aufgabe erkenntlich wird, hilfreich.
Gruß,
Uwe
AW: Liste sortieren - weiterhin unbeantwortet -owT
30.09.2006 21:47:52
ingUR
.
AW: Liste sortieren
30.09.2006 22:39:19
Stefan
Hallo,
hier

Die Datei https://www.herber.de/bbs/user/37109.xls wurde aus Datenschutzgründen gelöscht

eine (gekürzte) Beispielliste.
Gruß,
Stfan
AW: Liste sortieren
30.09.2006 21:57:27
Daniel Eisert
Hallo
warum lässt du nicht einfach alles in einer Liste und schreibst dir ein Paar Makros, die dir die Ansichten entsprechend ändern, also z.B. Sortierung nach Betrieb, nach Geburtstag, nach Namen oder bestimmte Spalten ein- und ausblenden?
Die Makros rufst du dann über ein paar Buttons auf, die du dir geschickt am Blattrand plazierst, so daß du sie schnell verwenden kannst?
Wenn dann Schüler neu hinzukommen oder wegfallen, brauchst du nur eine Liste zu ändern, weil es nur eine gibt.
Gruß, Daniel
Anzeige
AW: Liste sortieren
01.10.2006 00:15:16
ingUR
Hallo, Stefan,
auch weiterhin bin ich nicht sicher, ob ich bezüglich Deiner Aufgabenbeschreibung in Verbindung mit der gelieferten Beispieldatei, die nicht erkennen läßt, welche Arten von Verkettungen oder Quervebindungen zu "Grundtabellen" ggf. zu beachten sind, Dir einen nutzbaren Lösungsweg darstellen kann.
Die einfachste Lösung ist in der Tat die, dass Du die gewünschten Informationsspalten in Deine Tabele "Schüler nach Betrieben" kopierst, wenn das Sortieren nicht in der Tabelle "Schüler" erfolgen kann.
Das Kopieren kann automatisch immer dann ausgelöst werden, wenn Du auf das Blatt "Schüler nach Betrieben" wechselst. Es werden die aktuellsten Daten der Spalten aus der Tabelle "Schüler" je nach Anzahl der Zeilen mehr oder weniger schnell geschrieben und anschließend sortiert.
https://www.herber.de/bbs/user/37110.xls
Meine Frage ist nun die, warum man den die Tabelle Schüler nicht nach Betrieben sortieren kann. Das könnte man doch durch entsprechende Schaltflächen auf der Tabelle steuern, so dass wahlweise die sortierte Darstellung "Name, Vorname" oder aber "Betrieb, Name, Vorname" bestimmt werden kann.
Gruß,
Uwe
Anzeige
AW: Liste sortieren
01.10.2006 09:30:57
Stefan
Hallo Uwe,
die Betriebe sollen deshalb in ein eigenes Tabellenblatt, weil ich diese Reihenfolge der Anordnung dann wieder weiterverarbeiten möchte, z.B. als Datenquelle für Serienbriefe. Wenn ich dann jedesmal aufpassen muss, ob ich die richtige Sortierung habe, ist das nicht das, was ich mir vorgestellt habe.
So langsam komme ich immer mehr darauf, dass es eh am besten wäre, das Ganze Access-gestützt zu machen. Da aber schon viele Kollegen auf die endgültige Verion gespannt sind, und die meisten schon mit Excel kaum umgehen können, wird es wohl bei Excel bleiben.
Gruß,
Stefan
Anzeige
AW: Liste sortieren
01.10.2006 11:58:02
ingUR
Danke, Stefan,
für die Zusatzinformation zum Zweck der Extratabelle "Schüler nach Betrieben".
Kann den der VBA-Code Deine Grumdanforderungen an die Automatisierung praktikabel erfüllen? Wenn das derzeit notwendige Wechseln auf das Blatt "Schüler nach Betrieben", um den aktuallisieten und sortierten Stand zu erhalten, dann besteht die Möglichkeit, diese Routine durch Referenzierung der Objekte des Tabellenbaltt "Schüler nach betrieben" zu erweitern. Der Aufruf der Prozedur könnte dann von jeder Stelle des Projektes erfolgen.
Vielleicht könnte aber auch der Gedanke verfolgt werden, dass man das Sortieren nach Betrieben in der Tabelle "Schüler" immer nur dann vornimmt, wenn man eine bestimmt Aufgabe, z.B. eben Serienbriefe erstellen, abzuarbeiten hat. In diesem Fall würde der Sortieralgorithmus vor dem eigentlichen Seriendruck einmal auf die Tabelle "Schüler" angewendet, der Seriendruck gestartet und anschließen wieder die Ornung nach "Name, Vorname" wieder hergestellt.
Alternativ wäre aber auch denkbar, dass für die für den Serienbrief notwendigen Daten nur temporär im VBA-Programmteil des Serienbriefdruckes sortiert werden.
Beide Vorgehensweisen ersparen den Platz des zusätzlichen Tabellenblattes.
Sind jedoch weitere Eintragungen in der Tabelle "Schüler nach Betrieben" erforderlich, die sich nicht aus der der Tabelle "Schüler" erschließen, dann wäre die Vorgehensweise und Organisation m.E. noch einmal zu überdenken.
Gruß,
Uwe
Anzeige
AW: Liste sortieren
01.10.2006 12:57:20
Daniel Eisert
"...und die meisten schon mit Excel kaum umgehen können..."
Genau das wäre ein Grund, auf Access umzusteigen.
Damit lassen sich viel eher Anwendungen erstellen, mit denen auch ein PC-Neuling umgehen kann, weil er nur daß machen kann, was der Ersteller per Buttons zulässt.
Gruß, Daniel
AW: Liste sortieren
01.10.2006 11:44:07
Reinhard
Hi Stefan,
die Datei: https://www.herber.de/bbs/user/37112.xls
hat nachfolgenden Code:
Option Explicit
Sub Uebertragen()
Dim zei As Long
zei = Range("A65536").End(xlUp).Row
Worksheets("Schüler nach Betrieb").UsedRange.ClearContents
Range("A1:I" & zei).Copy Destination:=Worksheets("Schüler nach Betrieb").Range("A1")
Call Sortieren("Schüler nach Betrieb", "G2", "A2", "B2")
Worksheets("Schüler nach PLZBetrieb").UsedRange.ClearContents
Range("A1:I" & zei).Copy Destination:=Worksheets("Schüler nach PLZBetrieb").Range("A1")
Call Sortieren("Schüler nach PLZBetrieb", "H2", "A2", "B2")
Worksheets("Schüler nach PLZ").UsedRange.ClearContents
Range("A1:I" & zei).Copy Destination:=Worksheets("Schüler nach PLZ").Range("A1")
Call Sortieren("Schüler nach PLZ", "D2", "A2", "B2")
End Sub
Sub Sortieren(Blatt As String, Schl1 As String, Optional Schl2 As String, Optional Schl3 As String)
Dim zei As Long
With Worksheets(Blatt)
zei = .Range("A65536").End(xlUp).Row
If Schl3 <> "" Then
.Range("A2:I" & zei).Sort Key1:=.Range(Schl1), Order1:=xlAscending, Key2:=.Range(Schl2) _
, Order2:=xlAscending, Key3:=.Range(Schl3), Order3:=xlAscending, Header:= _
xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ElseIf Schl2 <> "" Then
.Range("A2:I" & zei).Sort Key1:=.Range(Schl1), Order1:=xlAscending, Key2:=.Range(Schl2) _
, Order2:=xlAscending, Header:= _
xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Else
.Range("A2:I" & zei).Sort Key1:=.Range(Schl1), Order1:=xlAscending, Header:= _
xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End If
End With
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige