Microsoft Excel

Herbers Excel/VBA-Archiv

Basisdaten aus Tabelle kopieren und alphabetisch s

Betrifft: Basisdaten aus Tabelle kopieren und alphabetisch s von: Florian
Geschrieben am: 03.09.2014 16:16:27

Hallo werte Excelfachmannschaft,

ich habe in letzter Zeit viel nützliche Information aus eurem Forum übernommen und muss sagen, der Informationsfluss hier ist wirklich zielführend und möchte an dieser Stelle mal ein pauschales Danke an alle richten, die sich hier die Zeit nehmen um anderen zu helfen. Tolle Sache.

Ich habe nun ein Problem mit Excel 2007 bei dem ich eure Hilfe wirklich gut brauchen könnte. Folgendes Problem:

Ich habe ein Tabellenblatt in dem ich sozusagen Grunddaten, wie zB den Namen oder die Personalnummer, von Mitarbeitern erfasse. Diese stehen in einer Tabelle, d.h. wenn ich einen neuen Mitarbeiter anlege, schreibe ich diesen unter die letzt Zeile der Tabelle und dieser wird automatisch in die Tabelle übernommen. Aus dieser werden dann bestimmte Werte wie zB der Name in andere Tabellenblätter kopiert, in denen ihnen zB Equipment oder Fahrzeuge zugewiesen werden. Ich habe ein Beispielfile angefügt, falls meine Erklärung uneindeutig ist. Nun ist dies auf Grund der Menge an Tabellenblättern mittlerweile sehr zeitintensiv.

Ich würde gerne Folgendes erreichen: Wenn ich einen neuen Mitarbeiter in der Personalliste anlege, soll dieser automatisch in die anderen Tabellen kopiert, sprich diese anderen Tabellen auch automatisch um einen neuen Eintrag erweitert werden. Dabei sollen aber nur seine Personalnummer und sein Name übertragen werden. Zudem möchte ich, dass alle Listen alphabetisch sortiert sind, natürlich so, dass die zuvor eingetragenen Werte wie das Equipment oder Fahrzeug mitverschoben werden. Außerdem sollten zB die Lehrlinge nicht auf die Fahrzeugliste kopiert werden, sehr wohl aber auf die Equipmentliste. Da alle Tabellenblätter für den Druck ausgelegt sind, kann ich keine "Endlostabellen" verwenden, da diese auch ohne Druckbereichsfestlegungen einfach gedruckt werden können müssen. Ich habe bereits versucht dies mittels Formeln zu lösen, jedoch muss ich dazu immer "Endlostabellen" verwenden und somit erkennt Excel nicht von alleine, wo der Datensatz endet.

Ich weiß das ist ganz schön viel, aber ich bin für jede Hilfe dankbar.
Ich nehme außerdem an, dass die beste Lösung wohl mit Access zu realisieren ist, doch verfüge ich weder über die nötigen Kenntnisse noch Software. Der Datensatz ist außerdem recht beschränkt.

Beste Grüße
Florian

das Beispielfile findet ihr hier:
https://www.herber.de/bbs/user/92463.xlsm

  

Betrifft: AW: Basisdaten aus Tabelle kopieren und alphabetisch s von: Marco Rinne
Geschrieben am: 03.09.2014 22:58:48

Nabend Florian,

die folgende Datei sollte genau das machen was du willst:
https://www.herber.de/bbs/user/92470.xlsm

- neue Mitarbeiter werden eingetragen und Name + Pers.Nummer werden in die anderen Tabellen kopiert(Ausnahme: Lehrling nicht in "Fahrzeug")
- alphabetisch sortiert
- keine Formeln (naja, eine :P)

Ich habe mich für ein UserForm entschieden, aus drei Gründen:

  • So ist sichergestellt dass die richtigen Daten in die richtigen Zellen kommen (Name in Name etc.). War zwar nicht explizit gewünscht von dir, aber hilft Fehler zu vermeiden.

  • Es ist so deutlich einfacher die neuen Daten in die anderen Blätter zu kopieren, insb. wenn mal mehr als ein Mitarbeiter auf einmal neu hinzugefügt wird.

  • Es macht die Sache für dich entspannter, weil du nur auf einen Button klicken musst und alles automatisch ans Ende der Tabelle geschrieben wird ;)


  • Hoffe du verstehst den Code mit meinen Kommentaren, auf zwei Dinge aber achten:
  • Ich habe die Verbindung der Zellen aufgehoben, wo die Tabellenüberschriften drinstehen ("Personal", "Equipment", "Fahrzeug"). Das müsste auch so bleiben, sonst funktionierts u.U. nicht mehr

  • Um das Ende der Tabelle zu ermitteln - damit eben keine Endlostabelle nötig ist - zählt eine Formel in der Zelle F1 jedes Balttes die Spalte A durch. Das heitßt: die Zelle F1 darf nicht gelöscht oder verschoben werden (VBA passt sich da leider nicht an). Außerdem müssen alle Zellen oberhalb der Tabelle, also z.B. A1 und A2 gefüllt werden (da störten eben die verbundenen Zellen). Wenn du eine "unsichtbare" Füllung willst, schreib in die Zellen der Spalte A über der Tabelle einfach ein ' in jede Zelle, das wird dann nicht angezeigt, aber mitgezählt. So habe ich es jetzt auch gemacht.


  • Je nachdem wie deine richtige Tabelle aussieht musst du ggf. Zellenbezüge anpassen. Außerdem kann man natürlich auch noch die Felder "Equipment" und "Fahrzeug" automatisch füllen, wenn es dort irgendwelche Gesetzmäßigkeiten gibt nach denen sie neuen Mitarbeitern zugeteilt werden. Aber mehr konnte ich nicht aus deinem Text rauslesen :)

    Viele Grüße


      

    Betrifft: AW: Basisdaten aus Tabelle kopieren und alphabetisch s von: Florian
    Geschrieben am: 04.09.2014 08:47:40

    Hallo Marco,

    erstmal Danke. Das funktioniert ja erstklassig. Das mit der UserForm ist eine wirklich gute Idee.
    Da hast du dir ja einiges an Codeschreiberei angetan Marco. Ich werd mich mal durch die Codezeilen
    durcharbeiten. Ich hoffe, du beantwortest mir vielleicht noch die ein oder andere Frage die wohl auftauchen wird ;)

    Aber bis es soweit ist nochmal Danke, dass du dir die Zeit genommen hast. Find ich toll.

    beste Grüße
    Florian


      

    Betrifft: AW: Basisdaten aus Tabelle kopieren und alphabetisch s von: Marco
    Geschrieben am: 04.09.2014 10:52:37

    Gerne.
    So viel Code ist es gar nicht, die beiden Module kannst du löschen/ignorieren und der Teil zum sortieren ist jedes mal der gleiche, nur für einen anderen Zellbereich...

    Viele Grüße


      

    Betrifft: AW: Basisdaten aus Tabelle kopieren und alphabetisch s von: Florian
    Geschrieben am: 04.09.2014 14:15:25

    Hallo Marco,

    hab grad das ganze File fertig und es funktioniert alles genau so wie ich es wollte.
    Vielen Dank nochmal für deine spitzen Hilfe. Du bist also von mir sozusagen erlöst ;)

    beste Grüße
    Florian


     

    Beiträge aus den Excel-Beispielen zum Thema "Basisdaten aus Tabelle kopieren und alphabetisch s"