Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten auf mehrere Tabellenblätter aufteilen

Daten auf mehrere Tabellenblätter aufteilen
Georg
Hallo Forum,
ich habe folgendes Problem: In einer Excelmappe gibt es eine sog. Masterliste mit Personal-Nummern, Namen etc. Weiterhin gibt es in der Mappe Tabellenblätter mit den Bezeichnungen "Bus 1", "Bus 2", bis hin zu "Bus 8". Zum besseren Verständnis habe ich eine Mustermappe hochgeladen. Anhand der Eingaben in der Masterliste sollen die Daten auf die jeweiligen Tabellenblätter an die richtige Stelle übernommen werden. Beispiel: Schütze 1 ist auf Bus 3 eingeteilt und hat bei Treiben 1 die Standnummer 312, bei Treiben 2 sitzt er in Bus 7 und hat die Standnummer 246, bei Treiben 3 sitzt er in Bus 1 Standnummer 402 und bei Treiben 4 in Bus 1 Standnummer 211.
Ist es möglich, diese Daten automatisch auf die jeweiligen Tabellenblätter zu übernehmen?
https://www.herber.de/bbs/user/79935.xlsx
Vielen Dank für die Antwort
Schorre
Anzeige

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

Betreff
Benutzer
Anzeige
AW: VBA Variante
25.04.2012 17:38:39
Georg
Hallo Tino,
vielen Dank für die Lösung. Sie ist fast perfekt. Ich habe noch das Problem, das die Fehlermeldung
ArrayAusgabe(nRowA, 1) = ArrData(nRow, 1)
beim Debuggen erscheint, wenn die Liste weiter als bis Zeile 63 erweitert wird. Wenn die Spalten A + B ausgefüllt sind, erscheint die Meldung nicht, erst wenn die Spalten Bus und Treiben gefüllt sind, läuft das Makro auf die Fehlermeldung auf. Ich komme leider nicht dahinter, wo das Problem liegt.
Vielen Dank für Deine Antwort
Gruß Schorre
Anzeige
AW: VBA Variante
25.04.2012 18:17:39
Tino
Hallo,
ich bin davon ausgegangen, dass es nicht mehr als 9 Einträge/Treiben gibt!
Gruß Tino
AW: hier noch eine Flexible Variante
26.04.2012 09:02:41
Georg
Hallo Tino,
tausend Dank für die Lösung. Sie ist absolut genial und perfekt.
Viele Grüße
Schorre
Anzeige
AW: VBA Variante
25.04.2012 18:11:44
Georg
Hallo Tino,
ich habe festgestellt, dass die Fehlermeldung mit BUS 1 zu tun haben muss. Wenn ich eine andere Nummer in das Feld eintrage, läuft das Makro durch.
Gruß Schorre
AW: Daten auf mehrere Tabellenblätter aufteilen
25.04.2012 17:44:29
Georg
Kleine Anmerkung zu meiner letzten Antwort. Es erscheint zunächst die Fehlermeldung "Laufzeitfehler 9 Index außerhalb des gültigen Bereichs"
Gruß Schorre
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Daten auf mehrere Tabellenblätter aufteilen


Schritt-für-Schritt-Anleitung

  1. Erstelle die Masterliste: Beginne mit einer Excel-Tabelle, die alle relevanten Daten enthält. Achte darauf, dass Spalten wie Personal-Nummer, Name, Bus und Treiben vorhanden sind.

  2. Vorbereitung der Zielblätter: Erstelle in der gleichen Excel-Datei die Tabellenblätter für jeden Bus (z.B. "Bus 1", "Bus 2" usw.).

  3. VBA-Makro verwenden: Um die Daten automatisch auf die jeweiligen Tabellenblätter zu verteilen, benötigst du ein VBA-Makro. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  4. VBA-Code einfügen: Füge den folgenden Code in ein neues Modul ein:

    Sub DatenAufteilen()
       Dim wsMaster As Worksheet
       Dim wsZiel As Worksheet
       Dim lastRow As Long
       Dim i As Long
    
       Set wsMaster = ThisWorkbook.Sheets("Master") ' Masterliste
    
       lastRow = wsMaster.Cells(wsMaster.Rows.Count, "A").End(xlUp).Row
    
       For i = 2 To lastRow ' Annahme: Erste Zeile ist Header
           Set wsZiel = ThisWorkbook.Sheets(wsMaster.Cells(i, "Bus").Value)
           wsZiel.Cells(wsZiel.Rows.Count, "A").End(xlUp).Offset(1, 0).Value = wsMaster.Cells(i, "A").Value ' Personal-Nummer
           wsZiel.Cells(wsZiel.Rows.Count, "B").End(xlUp).Offset(1, 0).Value = wsMaster.Cells(i, "B").Value ' Name
       Next i
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die Daten auf die entsprechenden Tabellenblätter zu verteilen.


Häufige Fehler und Lösungen

  • Laufzeitfehler 9: Dieser Fehler tritt auf, wenn ein Tabellenblatt, auf das verwiesen wird, nicht existiert. Überprüfe die Namen der Tabellenblätter und stelle sicher, dass sie mit den Einträgen in der Masterliste übereinstimmen.

  • Array-Ausgabe-Fehler: Wenn dieser Fehler auftritt, kann es an leeren Zellen in den relevanten Spalten liegen. Stelle sicher, dass alle erforderlichen Felder ausgefüllt sind.


Alternative Methoden

  1. Excel-Filter verwenden: Du kannst auch die Filterfunktion nutzen, um die Masterliste nach Bus zu sortieren und dann manuell in die entsprechenden Tabellenblätter zu kopieren.

  2. Power Query: In neueren Excel-Versionen kannst du Power Query verwenden, um die Daten zu transformieren und auf mehrere Tabellenblätter zu verteilen.


Praktische Beispiele

  • Beispiel 1: Wenn in der Masterliste eine Zeile mit der Personal-Nummer 12345, dem Namen „Max Mustermann“ und „Bus 3“ steht, wird dieser Eintrag automatisch in das Tabellenblatt „Bus 3“ übertragen.

  • Beispiel 2: Solltest du mehrere Busse in deiner Masterliste haben, kannst du das Makro so anpassen, dass es die Daten nach verschiedenen Kriterien aufteilt und auf mehrere Blätter verteilt.


Tipps für Profis

  • Datenvalidierung: Setze Datenvalidierungsregeln in der Masterliste ein, um sicherzustellen, dass nur gültige Bus-Nummern eingegeben werden.

  • Makros optimieren: Bei großen Datenmengen empfiehlt es sich, das Makro zu optimieren, um die Ausführungszeit zu verkürzen.


FAQ: Häufige Fragen

1. Kann ich die Daten auf mehrere Dateien aufteilen?
Ja, du kannst das VBA-Makro anpassen, um die Daten in mehrere Excel-Dateien zu speichern.

2. Ist es möglich, die Excel-Tabelle nach Kriterien aufzuteilen?
Ja, du kannst das Makro so modifizieren, dass es nach spezifischen Kriterien filtert, bevor die Daten auf die Tabellenblätter aufgeteilt werden.

3. Wie kann ich sicherstellen, dass das Makro korrekt ausgeführt wird?
Testiere das Makro zuerst mit einer kleinen Datenmenge und überprüfe, ob die Daten korrekt auf die Tabellenblätter verteilt werden.

4. Brauche ich spezielle Excel-Versionen für VBA?
VBA-Makros funktionieren in den Formaten .xlsm oder .xls, nicht jedoch in .xlsx. Stelle sicher, dass du die Datei im richtigen Format speicherst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige