Office: Makro bearbeiten Tabellenblätter auslesen

Helfe beim Thema Makro bearbeiten Tabellenblätter auslesen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich habe 3 Tabellen, deren Inhalte ich in einer Tabelle zusammenfassen möchte. Die Tabellen mit den Namen 100, 400, 500, welches im... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von fixtroedelfuchs, 27. Mai 2010.

  1. Makro bearbeiten Tabellenblätter auslesen


    Hallo,

    ich habe 3 Tabellen, deren Inhalte ich in einer Tabelle zusammenfassen möchte.

    Die Tabellen mit den Namen 100, 400, 500, welches im übrigen ODBC-Schnittstellen zu einem ERP-Programm sind, befinden sich in einem extra Ordner und werden in einer anderen Tabelle (Gesamtuebersicht), welche sich in einem anderen Ordner befindet ausgelesen und dann in dieser zusammengefasst.

    Ich habe nun schon ein Makro mit folgendem Aufbau erhalten:

    Public Sub prcKopieren()
    Dim intFilecount As Integer
    Dim strFileName As String
    Dim objSheet As Worksheet
    Application.ScreenUpdating = False
    Set objSheet = ThisWorkbook.Worksheets("Gesamtuebersicht")
    With Application.FileSearch
    .NewSearch
    .LookIn = "S:\Alexander\Tagesumsätze Bearbeiter über ODBC\Mandanten einzeln"
    .FileType = msoFileTypeExcelWorkbooks
    .Execute
    For intFilecount = 1 To .FoundFiles.Count
    strFileName = Dir$(.FoundFiles.Item(intFilecount))
    GetObject (.FoundFiles.Item(intFilecount))
    With Workbooks(strFileName).Worksheets(1)
    .Range(.Cells(2, 1), .Cells(.Cells(.Rows.Count, _
    1).End(xlUp).Row + 1, 20)).Copy _
    objSheet.Cells(objSheet.Rows.Count, 1). _
    End(xlUp).Offset(1, 0)
    End With
    Workbooks(strFileName).Close SaveChanges:=False
    Next
    End With
    With Application
    .CutCopyMode = False
    .ScreenUpdating = True
    End With
    End Sub


    Nun möchte ich jedoch folgendes realisieren:

    Alle Tabellen sollen in einer Arbeitsmappe in jeweils einem extra Tabellenblatt abgelegt werden, die Daten der Schnittstellen sollen beim öffnen der Datei sofort ausgelesen werden und danach soll das Makro die Inhalte der Tabellen 100,400,500 in die Gesamtübersicht einfügen.

    Die Tabelle erhält Auftragswerte, welche ich anschließend noch nach dem Bearbeiter filtern möchte.

    Derzeit habe ich jeweils ein Tabellenblatt für jeden Bearbeiter angelegt die Daten aus der Gesamtübersicht ausgelesen und einen vordefinierten Filter gesetzt.

    Wenn dies dann noch automatisch geschehen würde und ein weiterer Filter in der Spalte Datum lediglich die Auftragspositionen des aktuellen Datums (Heute Funktion) anzeigt wäre das wirklich super.

    Ich hoffe Ihr könnt meine Beschreibung nachvollziehen und freue mich auf eure Unterstützung.

    Vielen Dank.
     
    fixtroedelfuchs, 27. Mai 2010
    #1
  2. miriki Erfahrener User
    Nur zum Verständnis vorweg: Du benutzt das Wort "Tabelle" für eine Excel-Datei (workbook), ja? Oder meinst Du damit das Arbeitsblatt (worksheet) innerhalb einer Datei?

    Was Dein jetziges Makro macht, sofern ich mich nicht völlig verlesen habe: Es durchsucht ein Verzeichnis nach allen workbooks und kopiert aus jeder gefundenen Datei den Inhalt des 1. worksheets an das Ende des Übersichts-worksheets im aktuellem workbook. Soweit der "Ist"-Ablauf...

    Aber aus Deiner Beschreibung, wie der "Soll"-Ablauf aussehen soll, werde ich nicht so ganz schlau... Welche Dateien liegen da jetzt wo und was soll aus welcher Datei wohin kopiert werden?
    A: Deine Auswertungs-Datei
    - Au: Das Übersichts-Blatt
    B: Die einzelnen Mandanten-Dateien im durchsuchten Verzeichnis
    Sind das die "100", "400" und "500" Dateien?
    - B1: irgendwelche Listen, die in die Übersicht kopiert werden
    C: eine Datei mit der Gesamt-Übersicht
    Und das ist nicht A, oder?

    Also soll das 1. Blatt aus Datei "100" in das Blatt "100" der aktuellen Datei kopiert werden? Analog mit "400" und "500"? Dabei den vorherigen Stand ersetzen? Oder sollen die jeweils "angehängt" werden? Dann hättest Du also statt einem Blatt "Übersicht" danach 3 Blätter mit jeweils 1/3 des vorherigen Inhalts. Und diese 3 Teile sollen dann wiederum im Blatt "Übersicht" zusammengeführt werden?

    Und dann soll zum Schluß der Inhalt von "Übersicht" auf einzelne Blätter entsprechend der Mitarbeiter-Namen aufgeteilt werden?

    Sehe ich das so richtig? Die in der aktuellen Datei vorhandenen Blättern könnten dann heißen:
    Übersicht
    100
    400
    500
    Bauer
    Müller
    Schmidt
    [...]

    Und was soll dann jetzt in die Gesamt-Übersicht?

    Gruß, Michael
     
    miriki, 31. Mai 2010
    #2
  3. Hallo miriki,

    vielen Dank für deine Antwort!

    Hier weitere Erläuterungen.

    Richtig, es handelt sich um 3 Exceltabellen mit den Dateinamen 100, 400, 500.

    Rcihtig verstanden.


    Die Dateien 100, 400, 500 liegen in dem Ordner S:\Alexander\Tagesumsätze Bearbeiter über ODBC\Mandanten einzeln

    Die Datei "Gesamtuebersicht" liegt im übergeordneten Ordner S:\Alexander\Tagesumsätze Bearbeiter über ODBC

    Ja genau.

    Die Datei "Gesamtuebersicht" ist allerdings die Auswertungsdatei.

    Ich möchte nun nur noch eine Datei mit mehreren Arbeitsblättern für alle Inhalte haben.

    Sprich die Datei "Gesamtuebersicht" soll als erstes Arbeitsblatt die Daten des Mandanten 100 enthalten, welche über ODBC ausgelesen werden. Das 2. Arbeitsblatt soll die Daten des Mandanten 400 und das 3. Arbeitsblatt soll die Daten des Mandanten 500 enthalten. Diese Inhalte dieser 3 Arbeitsblätter, welche durch öffnen der Datei automatisch aktualisiert werden sollen dann im 4. Tabellenblatt zusammengefügt werden. Sprich die Inhalte der Tabellen sollen ausgelesen und dann untereinander angefügt werden.

    Nun sollen diese Daten nur noch jeweils anhand des aktuellen Datums und des Bearbeiters gefiltert und automatisch in einem extra Tabellenblatt ausgegeben werden, wobei das nur der Feinschliff wäre, die Umsetzung der oben genannten Problematik wäre mir erstmal am wichtigsten.

    Ich hoffe du kannst mein Problem und meine Frage nun besser nachvollziehen und freue mich auf deine Antwort.

    Nette Grüße
    fixtroedelfuchs
     
    fixtroedelfuchs, 2. Juni 2010
    #3
  4. miriki Erfahrener User

    Makro bearbeiten Tabellenblätter auslesen

    Du könntest mal gucken, ob die Auswertung im Anhang das macht, was dir vorschwebt. Es ist absolutes "Trockenschwimmen" gewesen, weil ich jetzt nicht alles drumherum nachbauen wollte. Aber wenn ich nicht völligen Bockmist verzapft habe, dann sollte folgendes passieren:

    Auf dem Blatt "Auswertung" befindet sich ein Button "Import". Durch Drücken des Buttons wirtd die eigentliche Auswertung gestartet. Ein Start direkt nach Öffnen der Mappe ist vorbereitet, aber durch Auskommentieren vorerst deaktiviert.

    Der Ablauf:

    Es werden im angegebenen Verzeichnis alle Excel-Dateien gesucht. Jede Datei wird geöffnet und das 1. Blatt in die Auswertung kopiert. Das Blatt erhält dabei den Dateinamen der Mappe, aus dem es stammt.

    Zusätzlich wird ein Blatt erstellt, in dem diese einzelnen Blätter auch noch einmal untereinander kopiert werden.

    Danach wird das Blatt "alle Mandanten" aufgeteilt. Es wird dabei die angegebene Spalte benutzt, um für jeden dort aufgetretenen Mitarbeiter ein neues Blatt zu erstellen. Dann werden die Zeilen von "alle Mandanten" auf die jeweiligen Blätter der Mitarbeiter kopiert.

    Bei dieser Aktion werden nur die Zeilen berücksichtigt, die in der angegeben Spalte das "heutige" Datum haben. Wenn das so nicht gewünscht ist, müßten nur 2 Zeilen im Source auskommentiert werden. Alternativ ließe sich dann über den Autofilter ein Kriterium auf das heutige Datum einstellen.

    Ich bin dabei übrigens davon ausgegangen, daß in den importierten Blättern die 1. Zeile eine Überschrift für die Spalten enthält und ab Zeile 2 die Nutzdaten stehen. Außerdem gehe ich davon aus, daß alle importierten Blätter die gleiche Struktur (Aufteilung der Spalten) haben. Weiterhin gehe ich davon aus, daß zumindest die Spalte A die Daten lückenlos bis zum Ende der Liste enthält. Blind geraten habe ich, daß in Spalte A ein Datum ind in Spalte B ein Mitarbeitername steht. Das ist aber auf dem Blatt "Auswertung" parametrisiert.

    Probier einfach mal aus, ob es wenigstens in die Richtung geht, die Du Dir dachtest. Anpassungen sollten noch relativ einfach sein, schätze ich mal so...

    Gruß, Michael
     
    miriki, 2. Juni 2010
    #4
Thema:

Makro bearbeiten Tabellenblätter auslesen

Die Seite wird geladen...
  1. Makro bearbeiten Tabellenblätter auslesen - Similar Threads - Makro Tabellenblätter auslesen

  2. VBA Werte aus Tabellenblätter kopieren WENN

    in Microsoft Excel Hilfe
    VBA Werte aus Tabellenblätter kopieren WENN: Hallo zusammen, Meine Ausgangssituation: Verschiedene Registerkarten mit Materiallisten, je nach System. Ganz vorne eine Übersichtsregisterkarte, in welcher die Systeme und Anzahl ausgesucht...
  3. mehrere Tabellenblätter über eine Schaltfläche mit nur einem Makro sortieren.

    in Microsoft Excel Hilfe
    mehrere Tabellenblätter über eine Schaltfläche mit nur einem Makro sortieren.: Hallo Liebes Forum! Würde wieder eure Hilfe benötigen. Ich habe eine Excel mit mehreren Tabellenblättern, die Inhaltlich im Bereich A9:M33 (können auch noch mehr Zeilen werden) alle gleich sind....
  4. Makro für alle markierten Tabellenblätter ausführen

    in Microsoft Excel Hilfe
    Makro für alle markierten Tabellenblätter ausführen: Hallo allerseits! Hätte wieder mal eine Frage. Hab 31 Tabellenblätter (für jeden Tag eines) in denen mal per Klick auf einen Button eine Windows Form aufmachen kann und dort automatisch Stunden...
  5. Makro Zurück zum letzten aktiven Tabellenblatt

    in Microsoft Excel Hilfe
    Makro Zurück zum letzten aktiven Tabellenblatt: Hallo, ich bin kompletter Neuling auf dem Gebiet Excel und arbeite mich so ganz langsam in die Bereiche Makros und VBA ein. Ich habe eine Tabelle (Kalender) erstellt mit insgesamt 54...
  6. Makro gültig für alle Tabellenblätter

    in Microsoft Excel Hilfe
    Makro gültig für alle Tabellenblätter: Guten Morgen alle zusammen, *Smilie ich arbeite mit Excel Version 2003 und hab folgendes Problem: Ich hab eine Arbeitsmappe mit mehreren Tabellenblättern, in dem etliche Tabellenblätter gleich...
  7. Excel Makro - Export zweier Tabellenblätter in separate Datei

    in Microsoft Excel Hilfe
    Excel Makro - Export zweier Tabellenblätter in separate Datei: Hallo in die Runde, ich stehe gerade vor einem Problem, das sicher am einfachsten über ein Makro gelöst werden kann – deren Benutzung ich allerdings nicht wirklich mächtig bin. Eine erste...
  8. Daten filtern, kopieren und in neuem Tabellenblatt untereinander einfügen

    in Microsoft Excel Hilfe
    Daten filtern, kopieren und in neuem Tabellenblatt untereinander einfügen: Hallo zusammen, ich habe folgendes Problem und versuche es mal anschaulich zu erläutern. Ich habe eine Tabelle1 mit 1000 Datensätzen. Im ersten Schritt Filter ich z.b. Spalte R...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden