Office: (Office 2010) Externe Mappe täglich importieren und aktualisieren

Helfe beim Thema Externe Mappe täglich importieren und aktualisieren in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo ich habe folgende Aufgabenstellung, ich habe einen XLS File den ich täglich bekomme nun möchte ich diesen XLS File täglich in eine andere... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von derberg222, 6. Juli 2015.

  1. derberg222 Erfahrener User

    Externe Mappe täglich importieren und aktualisieren


    Hallo

    ich habe folgende Aufgabenstellung,

    ich habe einen XLS File den ich täglich bekomme nun möchte ich diesen XLS File täglich in eine andere XLSX File importieren sozusagen.

    Das heisst ich möchte das die Mappe1 der täglich gesendeten Datei meine Mappe1 in einer anderen Datei ist.

    Ich möchte dadurch das kopieren und einfügen als Fehlerquelle vermeiden.

    Danke
     
    derberg222, 6. Juli 2015
    #1
  2. fette Elfe Erfahrener User
    Sollten wir hinbekommen ;O)


    Meinst Du wirklich Mappe1, oder nicht doch eher Blatt1?
    Mappe1 ist üblicherweise der Name einer neu geöffneten, und noch nicht umbenannten Exceldatei, und eine Datei kann nicht eine Datei in einer anderen sein. ;O)


    Spontan fallen mir die folgenden Fragen auf, die für das Makro zu klären wären:
    - hast Du bereits Erfahrung mit VBA?
    - wie soll der Import ausgelöst werden?
    - liegen die täglich neuen XLS-Datein zuverlässig immer im gleichen Dateiordner?
    - wie sind diese täglichen Dateien benannt? Immer gleich, oder mit Datum oder...
    - können wir eine feste Referenz (einen festen Pfad) auf die täglichen Dateien benutzen, oder sollte die Datei besser über den Dateiauswahldialog ausgewählt werden können (müssen)?
    - betrifft es immer das erste Blatt der täglichen Datei?
    - soll das erste Blatt der Zieldatei durch die neuen Daten überschrieben/ersetzt werden? Oder sollen die neuen Daten unten an eine Auflistung angefügt werden (dann bitte eine Beispieldatei hochladen)? Oder soll das Blatt zusätzlich in die Datei eingefügt werden (wenn ja, immer an erster Stelle?)

    Bitte beantworte die Fragen einzeln und so genau wie möglich, wenn mir noch mehr einfällt wirst Du es merken.
    ;O) :O)
     
    fette Elfe, 6. Juli 2015
    #2
  3. derberg222 Erfahrener User
    Hi Super dann leg ich mal los :-)


    Also ich meine natürlich Blatt1 nicht Mappe :-)

    - Erfahrung VBA gegen null
    -Der Import sollte wenn möglich automatisch beim öffnen der zu füllenden Datei ausgelöst werden.
    -Die täglich neuen Dateien liegen zuverlässig MO-FR im Gleichen Ordner und heissen immer gleich Datum würde ich hier weglassen da ich den Namen selbst vergebe. Rohdatenaktuell.xls
    -Ein fester Pfad ist sinnig um Fehler zu vermeiden also könnten wir durchaus.
    - Es betrifft immer das erste Blatt korrekt
    -Das erste Blatt der Zieldatei soll überschrieben werden JA


    Super geil das du dich hier meiner animmst :-) Ist echt ne Aufgabe da ich diese Daten auch noch alle mit Pivot etc.. Filtere, berechne, etc.. .

    DANKE Schonmal
    -
     
    derberg222, 7. Juli 2015
    #3
  4. fette Elfe Erfahrener User

    Externe Mappe täglich importieren und aktualisieren

    Hallo derberg222,

    also, ich bin ja son kleines Spielkind und von Makros fasziniert (zugeb), aber für diese Aufgabe alleine würde selbst ich mir kein Makro schreiben (denke ich).
    Beide Mappen öffnen, bei der Quelldatei das komplette Blatt markieren (unter dem Menü die obere Linke Ecke zwischen "A" und "1" anklicken, STRG-C drücken (oder über Rechtsklick), in der Zieldatei genauso wieder das ganze Blatt markieren und STRG-V (oder Rechtsklick).
    Für 1x am Tag fänd ich das okay.
    Vor allem, wenn Du wirklich möchtest, dass das Makro automatisch startet sobald die Mappe geöffnet wird, hast Du keine Chance dies zu unterbinden, falls Du das mal nicht möchtest.
    Aber... must Du ja wissen. ;O)

    Hier mein Code:
    Code:
    Option Explicit
    
    Private Sub Workbook_Open()
    
    Dim strQuellPfad As String          ' Textvariable für den Dateipfad der Quelldatei
    Dim strQuellDatei As String         ' Textvariable für den Dateinamen inkl. Endung der Quelldatei
    Dim byWert As Byte                  ' numerische Variable > welcher Knopf wurde in der Messagebox gedrückt
    Dim loCurrDsplAlert As Long         ' numerische Variable, die die Systemeinstellung aufnimmt, ob Warnmeldungen angezeigt werden
    
    '##############################################################################
    ' Dateipfad an Variable übergeben > !!!!!! muss manuell angepasst werden !!!!!!
    strQuellPfad = "C:\bla\blubb\dings\bums\Rohdatenaktuell.xls"
    '##############################################################################
    
    strQuellDatei = Right(strQuellPfad, InStr(1, StrReverse(strQuellPfad), "\") - 1)    ' Dateiname inkl. Endung an Variable übergeben, passt sich automatisch an
    
        If Dir(strQuellPfad) <> "" Then                                     ' Prüfung ob Dateipfad existiert
            If DateiGeoeffnet(strQuellPfad) = False Then                    ' wenn Quelldatei aktuell noch nicht geöffnet ist > wird in Function DateiGeoeffnet() überprüft
    DateiÖffnen:                                                            ' Sprungmarke wenn Quelldatei schon geöffnet war und nun geschlossen wurde
                Workbooks.Open strQuellPfad                                 ' Quelldatei öffnen
                Workbooks(strQuellDatei).Worksheets(1).Cells.Copy           ' in Blatt 1 der Quelldatei alle Zellen kopieren
                ThisWorkbook.Worksheets(1).Paste                            ' in Blatt 1 der Zieldatei das kopierte einfügen
                loCurrDsplAlert = Application.DisplayAlerts                 ' speichert die Einstellung ob Warnmeldungen angezeigt werden in Variable
                On Error GoTo ErrorHandler                                  ' Start der Fehlerbehandlung
                    Application.DisplayAlerts = False                       ' Warnmeldungen ausschalten
                    Workbooks(strQuellDatei).Close SaveChanges:=False       ' Quelldatei ohne Speichern schliessen
                    Application.DisplayAlerts = loCurrDsplAlert             ' Anzeige der Warnmeldungen auf ursprünglichen Wert zurücksetzen
                On Error GoTo 0                                             ' Ende der Fehlerbehandlung
                ThisWorkbook.Worksheets(1).Range("A1").Select               ' ausnahmsweise mal "select", weil ansonsten das komplette Blatt ausgewählt bliebe
                MsgBox "Datenimport abgeschlossen."                         ' Info an Benutzer
            Else
                byWert = MsgBox("Die Quell-Datei ist bereits geöffnet." & vbNewLine & "Soll sie geschlossen und mit dem Vorgang fortgefahren werden?", 4, "Achtung")    ' Messagebox mit Ja-Nein-Knöpfen, die Benutzerauswahl wird an die Variable übergeben
                If byWert = 6 Then                                          ' es wurde "Ja" gedrückt
                    loCurrDsplAlert = Application.DisplayAlerts             ' speichert die Einstellung ob Warnmeldungen angezeigt werden in Variable
                    On Error GoTo ErrorHandler                              ' Start der Fehlerbehandlung > wenn Fehler dann setze den Code bei der Sprungmarke "ErrorHandler" fort
                        Application.DisplayAlerts = False                   ' Warnmeldungen ausschalten
                        Workbooks(strQuellDatei).Close SaveChanges:=False   ' Quelldatei ohne Speichern schliessen
                        Application.DisplayAlerts = loCurrDsplAlert         ' Anzeige der Warnmeldungen auf ursprünglichen Wert zurücksetzen
                    On Error GoTo 0                                         ' Ende der Fehlerbehandlung > auf Standart zurücksetzen
                    GoTo DateiÖffnen                                        ' zur Sprungmarke wechseln und Code dort fortsetzen
                ElseIf byWert = 7 Then                                      ' es wurde "Nein" gedrückt
                    MsgBox "Abbruch durch Benutzer." & vbNewLine & "Es wurden keine Daten importiert."      ' Info an Benutzer
                End If
            End If
        Else
            MsgBox "Der voreingestellte Dateipfad existiert nicht."         ' Fehlermeldung bei falschem Dateipfad
        End If
        
        Exit Sub                                            ' Routine beenden (in diesem Fall das Makro), damit die Fehlerbehandlung nur bei Aufruf durchlaufen wird
        
    ErrorHandler:                                           ' Fehlerbehandlung
        Application.DisplayAlerts = loCurrDsplAlert         ' Anzeige der Warnmeldungen auf ursprünglichen Wert zurücksetzen
        On Error GoTo 0                                     ' Fehlerbehandlung auf Standart zurücksetzen
        
    End Sub
    
    Private Function DateiGeoeffnet(DerPfad As String) As Boolean
    ' diese Funktion prüft, ob die Quelldatei eventuell bereits geöffnet ist
    ' bei shared Workbooks, schreibgeschützten Mappen o.ä.. kann dies eventuell auch ein "Falsch" zurückgeben
        On Error Resume Next                                        ' wenn ein Fehler auftritt, nächste Anweisung ausführen (Fehler überspringen)
            Open DerPfad For Binary Access Read Lock Read As #1     ' Quelldatei öffnen
            Close #1                                                ' Quelldatei schliessen
            If Err.Number <> 0 Then                                 ' Prüfen ob ein Fehler aufgetreten ist
                DateiGeoeffnet = True                               ' Wertezuweisung
                Err.Clear                                           ' Fehlerspeicher löschen
            End If
        On Error GoTo 0                                             ' Fehlerbehandlung auf Standart zurücksetzen
    End Function
    Diesen Code kopierst Du bitte in das Modul "DieseArbeitsmappe".
    Den Dateipfad must Du natürlich noch anpassen.
    Und wenn sich irgendwann mal Dein Dateiformat (die Endung) ändert, must Du die auch anpassen.

    Okay, okay... son bischen hab ich mit Kanonen auf Spatzen geschossen. Es ginge auch kürzer. Aber wenn ich einmal dabei bin... ;O)
    Ich hab alle Codezeilen mit Kommentaren versehen. Wenn Du etwas nicht verstehst, einfach fragen.
     
    fette Elfe, 7. Juli 2015
    #4
  5. derberg222 Erfahrener User
    HAHA :-)

    MEGA :-) Also mit soviel Leidenschaft kann ich nur mal Danke sagen und freue mich wenn ich mich diesbezüglich ab und an an dich wenden darf !

    DANKE !
     
    derberg222, 8. Juli 2015
    #5
  6. derberg222 Erfahrener User
    Hi

    Was mache ich beim Speichern faslch ? beim Speichern heisst es : Folgende Features können in Arbeitsmappen ohne Makros nicht gespeichert werden : VBProjekt

    Sorry :-)
     
    derberg222, 8. Juli 2015
    #6
  7. derberg222 Erfahrener User
    Entscheiden im Vorfeld ob ich die Datei aus dem Pfad importieren möchte ginge auch oder ? Muss ja nicht voll automatisch ? So ne ja NEin abfrage ?
     
    derberg222, 8. Juli 2015
    #7
  8. derberg222 Erfahrener User

    Externe Mappe täglich importieren und aktualisieren

    Hello again :-)

    Ich habe gerade eine Idee weiß aber nicht ob das überhaupt möglich ist kann ich zusätzlich zur Entscheiden "Import ja oder Nein" eine Eingrenzung der Daten vornehmen die importiert werden sollen ?

    Also beispielsweise nach Datum aus einer Zelle der Importdatei ? Format (02.07.2015 09:30:09) Spalte L.

    Das heisst eine Abfrage in der ich das Datum ohne Uhrzeit eingebe und dann auch nur diese Datensätze importiert werden ?

    Danke und ich bin gespannt.
     
    derberg222, 8. Juli 2015
    #8
  9. fette Elfe Erfahrener User
    Hallo derberg222,

    für die Übersichtlichkeit im Thread würde ich empfehlen, nicht mehrere Beiträge hintereinander zu schreiben, sondern den bestehenden Beitrag zu editieren. ;O) nur so am Rande ;O)


    Wenn ich dann gerade die Zeit und Lust, und vor allem eine Idee und das Wissen habe, gerne. Ansonsten gibt es hier aber auch noch genug andere, die teilweise sogar um einiges versierter sind als ich. Deshalb einfach ans Forum wenden, irgendwer wird schon antworten. ;O)


    Die Zieldatei muss natürlich als Mappe mit Makros gespeichert werden. Geh mal den Weg über "Speichern unter" und schau Dir das Drop-Down beim Dateiformat an, dort findest Du dann schon das richtige. ;O)


    Das geht prinzipiell genauso, wie die bereits eingebaute Abfrage. Bau ich Dir gerne ein, und halte ich auch für sehr sinnvoll.


    Auch dies lässt sich machen. So langsam kommen wir dann auch in einen Aufgabenbereich, wo ich ein Makro für sinnvoll erachten würde.
    Da Du Dich mit VBA aber nicht gut auskennst, und Anpassungen vermutlich schlecht selber bewerkstelligen kannst, wäre es mir lieber an Originaldateien zu arbeiten.
    Deshalb lade bitte mal jeweils eine Beispieldatei Deiner Ziel- und Deiner Quelldatei hier im Forum hoch.
    Die Daten können gerne Dummys sein, und die Anzahl der Datensätze kann so um die 20 liegen, das sollte reichen.
     
    fette Elfe, 8. Juli 2015
    #9
  10. derberg222 Erfahrener User
    Beispieltabelle

    Hi Achim


    also hier mal die Importdatei mit deren Aufbau und in Tabelle 2 einige Erläuterungen ich hoffe ich hab mich nicht verdattelt :-)

    Danke Dir !!!
     
    derberg222, 9. Juli 2015
    #10
  11. fette Elfe Erfahrener User
    Hallo derberg222,

    den Makroteil kann ich Dir morgen abend oder am We schreiben.
    Die Pivottabelle bekommst Du aber hoffentlich selber hin? Denn da habe ich absolut keinen Plan von.
    Wenn Du da Hilfe benötigst, gibt es hier aber auch die passenden Cracks.
    ;O)
     
    fette Elfe, 9. Juli 2015
    #11
  12. fette Elfe Erfahrener User
    Hallo derberg222,

    so, ich hab jetzt mal ein wenig rumgespielt.
    Der Code ist etwas umfangreicher geworden, weil ich versucht habe möglichst viele Eventualitäten zu erschlagen und Laufzeitfehler zu vermeiden, also nicht erschrecken. ;O)

    - beim Öffnen der Zieldatei wirst Du gefragt ob die Daten importiert werden sollen
    - vor dem Import must Du ein Datum eingeben (kleiner Tipp: wenn Du alle Daten importieren willst, gib ein Datum ein welches garantiert nicht in der Liste vorkommt, dann bekommst Du die entsprechende Auswahlmöglichkeit)
    - vor dem Datenimport werden alle Zellen in Blatt 1 der Zieldatei gelöscht (könnte Probleme mit Bezügen Deiner Pivottabelle geben, müssen wir schauen)
    - die Daten werden vor dem Import nach Datum (inkl. Uhrzeit) sortiert, erscheinen so also später auch in der Zieldatei
    - die Spalten der Zieldatei werden automatisch auf die passende Breite gebracht
    - und nach dem Öffnen der Quelldatei werden die darin enthaltenen externen Datenverbindungen gelöscht (hoffe ich, kann ja nicht am Original testen). Allerdings wird wird die Quelldatei momentan ohne zu speichern geschlossen. Wenn das geändert werden soll, bitte Bescheid geben.

    Schau es Dir mal in Ruhe an ob es so für Dich passt.
    Und vergiss nicht den Pfad im Makro anzupassen.
     
    fette Elfe, 11. Juli 2015
    #12
  13. derberg222 Erfahrener User

    Externe Mappe täglich importieren und aktualisieren

    Brauchst Du eine sowohl als auch ? Also Quell und Ziel ? oder passt das so ?
     
    derberg222, 13. Juli 2015
    #13
  14. fette Elfe Erfahrener User
    Hallo derberg222,

    ähm, brauchen wofür?
    Was ich erstmal bräuchte wäre eine Rückmeldung ob mein Makro für Dich so passt, was noch geändert werden soll und ob alles ordentlich klappt.
    Aber wenn die Anzeige hier im Forum korrekt ist, wurde meine Datei von gestern (11.07.2015, 23:21) bisher noch nicht einmal aufgerufen, also hast Du die noch garnicht getestet.

    Ansonsten ist Deine Zieldatei für mich recht uninteressant. Ich habe bisher immer eine neue leere Mappe genommen. Es betrifft ja eh immer "Blatt 1" der Mappe, in der der Code ausgeführt wird.
    Deine Quelldatei bräuchte ich nur nocheinmal, wenn es mit den Datenverbindungen Probleme gibt.
    Dann müste ich eine Quelldatei mit den originalen Verbindungen haben, damit ich testen kann.
     
    fette Elfe, 13. Juli 2015
    #14
  15. derberg222 Erfahrener User
    Hi Ich habe eben erst deine Lösung entdeckt !! Sorry !!!

    Habe das komplett überlesen, ich lese und prüfe und schick Dir gleich ein Feedback ! Vielen DANK !
     
    derberg222, 14. Juli 2015
    #15
Thema:

Externe Mappe täglich importieren und aktualisieren

Die Seite wird geladen...
  1. Externe Mappe täglich importieren und aktualisieren - Similar Threads - Externe Mappe täglich

  2. Externe Mails mit bedingter Formatierung farbig hervorheben

    in Microsoft Outlook Hilfe
    Externe Mails mit bedingter Formatierung farbig hervorheben: Hallo zusammen! Ich möchte externe Mails (also Mails von Versendern, die nicht von der Domain @geanvas.com kommen) in meinem Posteingang farbig hervorheben. Dazu habe ich in der bedingten...
  3. Nur eindeutige Werte berechnen aus externer Datei

    in Microsoft Excel Hilfe
    Nur eindeutige Werte berechnen aus externer Datei: Hallo zusammen, ich stehe etwas auf dem Schlauch und hoffe ihr könnt mir weiterhelfen falls es überhaupt möglich ist. Ich habe eine Datei wo die Ergebnisse ausgegeben werden sollen und eine...
  4. Variable in Pfad zu externem Inhalt (Sharepoint)

    in Microsoft Excel Hilfe
    Variable in Pfad zu externem Inhalt (Sharepoint): Hallo, ich habe eine Excel-Tabelle, welche Daten aus einem externen Bezug holt. Der Pfad sieht so aus:...
  5. E-Mail aus externer Quelle

    in Microsoft Outlook Hilfe
    E-Mail aus externer Quelle: Hallo, es handelt sich hier um Outlook 2016 auf einem Windows 10 System. Es gibt E-Mails die man über den klasischen Weg/Empfang selbst erhält, diese landen dann zuerst im Posteingangs Ordner....
  6. Öffnen einer externen Präsentation

    in Microsoft PowerPoint Hilfe
    Öffnen einer externen Präsentation: Moin Moin In unserem Unternehmen gibt es drei Abteilungen plus den Chef. Jede Abteilung und der Chef pflegt eine eigene Präsentation. Einmal die Woche soll es eine gemeinsame Präsentation geben....
  7. Suche nach zwei Kriterien in externem Excel-Dokument

    in Microsoft Excel Hilfe
    Suche nach zwei Kriterien in externem Excel-Dokument: Hallo allerseits. Ich brauche wieder mal Hilfe. Ich habe eine Tabelle Spalte A - Kundennummer Spalte B - Produktnummer Steht die Produktnummer neben einer Kundennummer, hat dieser Kunde dieses...
  8. Zählenwenns mit externem Bezug (Matrixformel)

    in Microsoft Excel Hilfe
    Zählenwenns mit externem Bezug (Matrixformel): Hallo in die Runde, ich habe folgende Herausforderung, bei der ich eure Hilfe brauche. Ich habe 1 Auswertungsdatei, die mir aus einer Anzahl an wachsenden Exceldateien auswerten soll, wie oft...
  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