Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1704to1708
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

VBA: Stammtabelle in Einzeltabellen splitten

VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 17:59:11
Sascha
Guten Tag in die Runde,
ich habe eine, für mich schwere, Aufgabe vor mir:
Mir liegt eine Stammdatentabelle vor, die dem nachfolgendem Schema entspricht (es gibt insgesamt 38 Spalten und knapp 200 Zeilen, ich benötige alle Zeilen aber nur Spalte A, B & C):
A B C
P.Nr. Name Abteilung
1 Name1 Abt.1
2 Name2 Abt.1
3 Name3 Abt.1
4 Name4 Abt.2
5 Name5 Abt.2
6 Name6 Abt.2
7 Name7 Abt.3
8 Name8 Abt.3
9 Name9 Abt.4
Für jede Abteilung (insgesamt 12) habe ich eigene Tabellen mit vorgefertigten Berechnungen. Aktuell muss ich die Stammdaten alle paar Tage manuell aktualisieren, um den aktuellen Personalstamm vorliegen zu haben.
Ist es per VBA möglich, durch einen Button alle Mitarbeiternamen & Personalnummern automatisch anhand der Zuordnung "Abteilung" in die "richtigen" Tabellen zu schieben?
In der Stammtabelle stehen in
Spalte A: Personalnummer
Spalte B: Name
Spalte C: Abteilung
Jede der 12 Tabellenblätter der Abteilungen ist identisch aufgebaut, nur die Anzahl Zeilen ändert sich anhand der Anzahl Mitarbeiter...
In diesen Tabellen müsste:
Name in Spalte B, Zeile 8
Personalnummer in Spalte B, Zeile 9
Abteilung benötige ich nicht
In Spalte B, Zeile 10 der nächste Mitarbeitername und daraufhin in Spalte B, Zeile 11 die dazugehörige Personalnummer (und so weiter bis zu 30 Einträge für die größte Abteilung).
Ich habe mir diverse Möglichkeiten und "Vorlagen" getestet - da dies aber sehr speziell ist, finde ich nichts was ich mit meinem Laienwissen entsprechend umbasteln könnte... :(
Ich bedanke mich bereits herzlich für jegliches Feedback. :)
Beste Grüße,
Sascha

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 18:18:20
onur
Und wieso sind die Namen nicht UNTEREINANDER (wie sich das gehört) wie auf dem 1. Blatt?
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 19:22:32
Sascha
Das liegt an der Tabellenstruktur, wenn dies aber das ‚Problem‘ verschärft, kann ich die Anordnung auch ändern und Name in Spalte B und P.Nr. in Spalte C legen. :)
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 19:25:46
onur
Das solltest du auf jeden Fall.
Ich hoffe, die 12 Tabellennamen haben das Format (z.B.) "Blatt01,Blatt02......,Blatt12".
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 19:33:35
Sascha
Aktuell sind die Tabellen nach den Abteilungen benannt - aber auch das kann ich entsprechend abändern. ;)
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 19:35:09
onur
Hauptsache sie haben die 01 bis 12 am Ende, der (immer gleichlautende) Text ist egal.
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 19:36:28
Sascha
Dann mache ich Abt1, Abt2, …, Abt12. :)
Anzeige
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 19:40:01
onur
Besser "01" statt "1".
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 19:42:45
onur
Dann kannst du die Datei (oder eine Beispielsdatei mit exakt gleichem Aufbau - 2 bis 3 der 12 Blätter genügen) posten.
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 19:43:22
Sascha
Alles klar, werde ich machen - danke. :)
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 19:48:12
onur
Noch eine Frage:
Die Namen, die gefunden werden, werden aktualisiert oder alle neuen Namen (die natürlich nicht gefunden werden können) werden hinzugefügt?
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 20:43:51
Sascha
So, sorry für die Verzögerung.
Ich habe die Datei nun abgespeckt und alle persönlichen Daten entfernt.
Zur Erklärung:
Tabelle 1: "Import" - dort muss der Excel-Export aus dem anderen System einfach reinkopiert werden - habe Testdaten im Format welches mir im Export vorliegt eingetragen (dies sind Einsatzseiten pro Wochentag, der Plan wird wöchentlich erstellt).
Tabelle 2: "Stammdaten" - dies sind die Stammdaten aus dem anderen System, welche mit dem Import die neuen Dateien erzeugen soll.
Tabelle 3,4 &5: "Abt0x" - die Abteilungen.
Dort muss aktuell noch in Spalte B der Name und DARUNTER die PersoNr stehen. Zur Not kann ich das Morgen noch ändern... Wenn es so wie aktuell geht, wäre es perfekt wegen dem Rest des Formats (alle anderen Spalten sind irrelevant, die Berechnung klappt - nur in der abgespeckten Version sind einige Sachen nicht korrekt).
Also Ziel ist es:
In der Import Datei stehen Name + PersoNr und die Einsatzzeiten je Tag (MO - So).
Die Stammdaten beinhalten Informationen wie: Welche Abteilung, Wochenarbeitstunden, Arbeitstage, etc... hier wollte ich die Abteilung mit dem Namen / PersoNr aus dem Import für die Zuordnung verknüpfen (das schaff ich halt nicht). :(
In den Abt0x Tabellen werden der Name + PersoNr automatisch den Abteilungen zugeordnet, so dass danach die Formeln - welche bereits vorhanden sind - alles ausrechnen und der Plan gedruckt werden kann.
Ich hoffe, dies ist einigermaßen verständlich. :)
Bereits vielen, vielen Dank für jegliche Hilfe. :)
Hier die Datei, musste leider .zippen, da es mehr als 300kb sind:
https://www.herber.de/bbs/user/131336.zip
Anzeige
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 21:03:14
onur
Ich verstehe deinen Code nicht ganz:
Sub KopierenWertAbt02(wks As String)
Sheets("Abt02").Select
Sheets("Abt02").Range("C8:C13").Copy 'Ist doch leer
Sheets("Abt02").Range("AC8:AC13").PasteSpecial xlPasteValues '"C8:C13" wird auf "AC8: _
AC13" kopiert? Alles auf dem gleichen Blatt?
Dim zelle As Range
For Each zelle In Sheets("Abt02").Range("AC8:AC13")
zelle.Value = zelle.Value 'Ist doch schon alles Value (dank PasteSpecial  _
xlPasteValues)
Next
End Sub

AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 21:13:03
Sascha
Die Werte in C8:C13, welche aus der Formel kommen, konnte ich für weitere Berechnungen nicht nutzen. Daher kopiere ich diese in AC8:AC13 als Value um damit weiter rechnen zu können...
Diese Berechnungen sind dann bei den Tagesszeiten etc, also ab Spalte E.
Anzeige
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 21:15:44
onur
Aber dein Code übernimmt doch gar nix aus dem Blatt "Import", er schiebt nur auf dem gleichen Blatt die Daten hin hun her.
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 21:22:42
Sascha
Ja, bisher habe ich in die Tabellen jeder Abteilung die Mitarbeiter manuell aus der Stammdaten-Tabelle kopiert.
Somit standen die Namen + P.Nr. bereits in den Tabellen und durch einen sverweis zieht sich dann die Spalte C die Wochenstd / Arbeitstage und berechnet die entsprechenden Werte.
Ziel soll es sein, dass die Namen + P.Nr. "automatisch" den Abteilungs-Tabellen zugeordnet wird und dann per sverweis (auf P.Nr in Spalte B) die entsprechenden Daten aus den Stammdaten zieht.
Anzeige
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 21:32:45
onur
"Die Werte in C8:C13, welche aus der Formel kommen, konnte ich für weitere Berechnungen nicht nutzen" - WARUM denn nicht ?
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 21:38:26
Sascha
In den Tabellen "Abt0x" Spalte Z:
Dort frage ich die Arbeitstage je Woche ab, die Werte aus Spalte C wurden nie korrekt berechnet. Wenn ich diese aber in AC schiebe, klappt es...
Wieso das so ist, weiß ich nicht. Aber gut testen kann man es in:
Abt01, Spalte Z, Zeile 10/11 … wenn Du da die 2x AC zu C machst, rechnet Excel nicht 38,5 Std. sondern 48,13 Std.!? - die 38,5 sind das korrekte Ergebnis.
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 22:16:14
onur
Stammdaten Spalte "AI" liefert mit LINKS(....) einen TEXT, daher liefert SVERWEIS in Spalte C auf Blatt "AbtXY" ebenfalls einen Text, daher kann deine Formel auch damit nicht rechnen.
entweder bei der Formel Stammdaten Spalte "AI" einen WERT(...) drumherum bauen oder bei SVERWEIS in Spalte C auf Blatt "AbtXY".
Dann brauchst du keine Makros dafür.
Formel in Spalte "Z" auf Blatt "AbtXY" habe ich gekürzt, war unnötig kompliziert (siehe gelbe Zellen)
P.S.: Formatiere nur so viele Zellen, wie du auch tatsächlich brauchst (plus etwas Reserve), dann wird die Datei auch nicht so groß.
Anzeige
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 22:25:46
Sascha
Danke für die Tipps - nun versteh ich auch, warum damit nicht gerechnet wurde. :)
"Formel in Spalte "Z" auf Blatt "AbtXY" habe ich gekürzt, war unnötig kompliziert (siehe gelbe Zellen)" - Wo kann ich das sehen? Einen Anhang hattest Du keinen, oder?
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 22:29:06
onur
Vergleiche doch auf Blatt "Abt01" die Formel in Z10 mit den anderen (deinen) in Spalte Z.
AW: VBA: Stammtabelle in Einzeltabellen splitten
08.08.2019 22:35:16
Sascha
Oh ja, super. :)
Danke, sieht wesentlich besser aus! :)

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige