Gefilterte Bereiche kopieren

Nur sichtbare (gefilterte) Bereiche per Hand kopieren

Für Übungszwecke find­en Sie in dieser Datei die alpha­betis­che Liste aller Mit­glieder des 18. Deutschen Bun­destages, Stand 04.05.2015 mit der jew­eili­gen Partei-Zuge­hörigkeit. Die Auf­gabe ist nun, für jede Frak­tion ein neues Arbeits­blatt zu erstellen und die entsprechen­den Mit­glieder dort hinein zu kopieren. Das Kopieren soll per Hand geschehen, nicht per VBA/Makro.

Grundlegende Überlegungen und Vorbereitungen

Grund­sät­zlich stellt sich ja erst ein­mal die Frage, wie kann ich fest­stellen, wer zu welch­er Frak­tion gehört. Das ist rasch beant­wortet, denn hin­ter jedem Namen ste­ht die jew­eilige Frak­tion ver­merkt. Also muss nur in irgend ein­er Form dafür gesorgt wer­den, dass die Namen entsprechend aufgeteilt und dann in ein anderes Arbeits­blatt kopiert wer­den.

Bei 642 Namen wäre es recht müh­selig, in Spalte B einzeln per Hand die jew­eilige Frak­tion einzu­tra­gen. Da gibt es einen ein­facheren Weg, näm­lich eine Formel zu ver­wen­den. Das gin­ge beispiel­sweise mit solch ein­er Excel-Formel:

=WENN(RECHTS(A2; 3)="CSU"; "CDU/CSU"; WENN(RECHTS(A2; 3)="SPD"; "SPD"; WENN(RECHTS(A2; 3)="nen"; "Bündnis 90/Die Grünen"; WENN(RECHTS(A2; 3)="nke";"Die Linke"; "Fehler"))))

Diese Formel gehört in eine einzige Zeile, auch wenn sie hier und eventuell auch in Ihrem Eingabebere­ich in mehreren Zeilen dargestellt wird. – Prinzip­iell wird hier ver­glichen, ob die recht­en drei Zeichen der Zelle mit den recht­en drei Zeichen eines Frak­tion­sna­mens übere­in­stim­men und dann der kom­plette Frak­tion­sname in Spalte B geschrieben. Und für den Fall, dass sich beispiel­sweise ein Schreibfehler oder Ähn­lich­es eingeschlichen hat, wird auch noch der Rück­gabe­w­ert „Fehler” einge­bun­den.

Wenn Sie diese Formel (begin­nend in B2) nach unten kopieren, wer­den Sie in jed­er Zelle den entsprechen­den ste­hen haben. Damit sind die Vor­bere­itun­gen abgeschlossen.

▲ nach oben …

Fraktionen separieren

Um nun festzustellen, für welche Frak­tio­nen ein neues Blatt angelegt wer­den muss, bietet sich fol­gen­des Vorge­hen an: 

  • Dat­en | Fil­tern und dann per Klick auf das Dreieck rechts die Aut­oFil­ter-Funk­tion­al­ität aktivieren:
Den AutoFilter für die Übersicht aktivieren

Den Aut­oFil­ter für die Über­sicht aktivieren

Sie erken­nen rasch, welche Frak­tio­nen durch die Funk­tion erstellt wor­den sind. Sie sehen aber auch, dass min­destens 1 Zeile mit dem Wert „Fehler” verse­hen ist. Das sollte natür­lich kor­rigiert wer­den. Aber Stop, da Sie solche Änderun­gen nie an der Orig­i­nal-Datei vornehmen soll­ten, erstellen Sie bitte erst ein­mal eine Kopie des Arbeits­blattes. Oder als Alter­na­tive: Machen Sie einen Recht­sklick auf die Reg­is­terkarte des Blattes und blenden das Tabel­len­blatt Alle Parteien (Formel) ein (erst ein­mal nur dieses). Dann haben Sie eine Kopie und kön­nen auch ein­mal Fehler machen. Die richtige Formel ist dort auch schon inte­gri­ert.

Lassen Sie sich ide­al­er­weise nur diese Fehler-Ein­träge her­aus­fil­tern und schauen Sie nach, warum diese fehler­haft sind. Aus mein­er Sicht wäre nun der ein­fach­ste Weg, wenn Sie die weni­gen Zellen per Hand kor­rigieren. In Spalte A den Text markieren, Kopieren und in Spalte B den alten Wert durch Ein­fü­gen über­schreiben. Dann bleiben noch 4 Frak­tio­nen über, wo Sie für jede ein neues Blatt erstellen.

Wenn es wesentlich mehr als diese 11 Ein­träge gewe­sen wären oder sich solch eine Auf­gabe ständig wieder­holt, dann kann die Sache auch automa­tisiert wer­den. Die oben gezeigte Formel ließe sich zwar dahinge­hend verän­dern, dass auch diese Fehler abge­fan­gen wer­den, aber wehe, da muss dann aus welchen Grün­den auch immer eine Änderung vorgenom­men wer­den. Dann raucht der Kopf ganz gewaltig, denn von Über­sichtlichkeit kann dann keine Rede mehr sein. Da bietet sich eine UDF an, eine benutzerdefinierte Funk­tion, welche für Anwen­der ganz schlank daher kommt. Blenden Sie gerne das Blatt Alle Parteien (VBA) ein und schauen Sie sich das ein­mal an.Der dazu gehörige Code liegt im Modul1 und ist frei änder­bar. Und wie schon angedeutet, hier wer­den in dem Datenbe­stand keine Fehler­mel­dun­gen auf­tauchen. Das geschähe nur dann, wenn beispiel­sweise jemand aus ein­er Partei aus­tritt und als frak­tion­slos­er Abge­ord­neter in der Liste geführt wird. Dann müssten die Case-Anweisun­gen entsprechend ergänzt wer­den.

Mit welchem der Arbeits­blät­ter Sie nun weit­er machen, das über­lasse ich Ihnen. In jedem Fall soll­ten vor dem entschei­den­den Schritt die Arbeits­blät­ter der vier Frak­tio­nen erstellt und mit einem „sprechen­den” Namen verse­hen wor­den sein. – Für jede Frak­tion gilt nun das gle­iche Vorge­hen:

  • Schal­ten Sie erforder­lichen­falls den Aut­oFil­ter aus, damit alle Ein­träge zu sehen sind.
  • Den Aut­oFil­ter wieder ein­schal­ten, (Alles auswählen) deak­tivieren und bei der gewün­scht­en Frak­tion ein Häkchen set­zen.
  • Spalte A: Klick in die erste, sicht­bare Zeile unter­halb der Über­schrift. Das muss nicht Zeile 2 sein!
  • StrgShift (Cur­sor nach unten), um alles bis zum let­zten sicht­baren Ein­trag zu markieren.
  • StrgC oder auf anderem Wege Kopieren.
  • Wech­seln zum entsprechen­den Arbeits­blatt und anschließend StrgV oder nach Belieben Ein­fü­gen aus­führen.

Für die näch­ste Frak­tion führen Sie den Vor­gang gle­icher­maßen durch. Damit ist die Auf­gabe erfüllt. Sie erken­nen, dass das Ganze auch kom­plett ohne Makros mach­bar ist (wenn Sie die Fehler von Hand aus­gle­ichen oder mit ein­er Mon­ster-Formel 😉  ver­wen­den). Selb­stre­dend lässt sich das Ganze auch voll­ständig automa­tisieren, aber das ist hier nicht das The­ma.

[NachOben­Let­zte Verweis=„ML: Gefilterte Bere­iche per Hand kopieren”]
Dieser Beitrag wurde unter Ohne Makro/VBA, Tabelle und Zelle abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.