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

Excel-Datei per Update aktualisieren

Forumthread: Excel-Datei per Update aktualisieren

Excel-Datei per Update aktualisieren
k
Hallo,
mal was ganz anderes. Habe eine Datei mit vielen Daten für den Außendienst. Diese Datei enthält 3 Arbeitsblätter, welche mit Daten gefüllt sind, die sich ca. alle 6 Monate erneuern. Da die Datei aber auch viele Userformen enthält sowie Eingegebene Daten des Außendienstlers, dachte ich - vielleicht ist es ja möglich per VBA eine Art Update zu fahren. Geht sowas ?
Dachte da an: Neue Excel-Datei mit den "neuen" Daten. Diese mit einem Marko hinterlegen, welches die andere Datei (alte Version) zum öffnen auffordern (per Inbutbox, oder Dialog Datei öffnen etc.) und dann per Copy und Paste die entsprechenden Bereiche durchläuft, die aktualisiert werden sollen.
Könnte sicherlich funktionieren, aber gibt es evtl. auch eine "schöne" Variante wie z.B.
Neue Datei succht auf dem PS-nach der "alten" Datei und öffnet sie im Hintergrund, spielt dann die "neuen" Daten enstprechend rein. Schließt die neue Datei und öffnet in den Vordergrund die "alte" nun aktualisierte Datei mit der MsgBox "Daten wurden erfolgreich aktualisiert!" ?! ;o)
Gruß und Danke für jede Anregung!
Kay
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Excel-Datei per Update aktualisieren
20.07.2009 19:57:18
Hajo_Zi
Hallo kay,
das aktualisieren von VBA Codegeht nur, wenn der Zuggriff auf das VBA Projekt erlaubt ist. Bei Deinem Level würde ich die Finger davon lassen.

AW: Excel-Datei per Update aktualisieren
21.07.2009 08:22:25
k
Hallo Hajo,
...Danke erstmal für Deine Antwort. Ich dachte nicht dabei den VBA-Code "upzudaten" sondern mit Hilfe eines VBA-Codes - Daten auszutauschen. OK, vielleicht so ?
Die neue Datei enthält die aktuellen Tabellenblätter 1-3 und das Marko was folgendes auslöst:
Lösche in er der alten Datei Tabelle 1-3 und kopiere aus der neuen Datei Tabelle 1-3 in die alte Datei - Fertig ?! - Oder ist das auch schon zu riskant ?!
Gruß
Kay
Anzeige
AW: Excel-Datei per Update aktualisieren
21.07.2009 09:01:21
Wolli
Hallo Kay,
technisch ist das kein Problem, allerdings eine Fleißfrage. Du solltest (wie Du beschrieben hast) in die Datei, die beim Außendienst ist, ein Makro einbauen, das die Aufgabe erledigt. Ich schlage folgende Schritte vor:
1) Update-Datei öffnen. a) an festem Ort, b) Pfad in einer Steuertabelle eingegeben, c) Selber suchen über Datei-öffnen-Dialog.
2) Blätter oder Bereiche kopieren / austauschen. Dabei darauf achten, dass eventuelle Verknüpfungen nicht verhunzt werden und die Daten wirklich komplett ausgetauscht werden (es dürfen keine alten Daten aus Versehen stehenbleiben).
3) Update-Datei schließen
4) MsgBox "Update Fertig"!
Aber sei gewarnt: Man kann gar nicht so blöd denken, wie ein Außendienstler klicken kann. Also: Fehler abfangen, gründlich testen!
Und dann musst Du schauen, ob Du es selbst (mit Forenhilfe) versuchst oder ob Du vielleicht jemanden für Geld beauftragst. [Mich? ;-) ]
Fröhliches Planen wünscht
Wolli
Anzeige
AW: Excel-Datei per Update aktualisieren
21.07.2009 11:43:08
k
Hi Wolli
...vielen Dank für Deine Empfehlung. Sei mir nicht bös, aber wir sind ein kleines Unternehmen mit geringem Budget ;o) ... so dass ich diese Sache erstmal allein probieren muss. Und wenn ich es nicht hinbekomme, dann per Forum und wenn das alles nichts hilft - komme ich gern auf Dich zurück. Nun ich kenne zwar Deine Preise nicht, aber sie werden auf jedenfall für meinen "Schottischen" Cheff mit "Schwäbischer" Herkunft zu hoch sein ;o)
Eine Frage habe ich da noch:
Wenn ich also die "neue" Datei (Update-Version) vom Außendienstler in den Ordner legen lasse, in der auch die "Original-Datei" des ADM liegt, wie kann ich dann auf einfachem Weg - diesen Pfad erfragen und dem Update-Code übergeben ?!
Dachte an:
Pfad = thisworkbook.path ' übergabe des Pfades der aktiven (alten Datei) - Richtig ?!
Datei = Name der Updatedatei (muss immer einheitlich sein!)
Und dann sowas wie
thisworkbook.path & Datei ' um die Neue Datei anzusprechen.
Wie kann diese im Hintergrund öffnen und den Kopiervorgang auslösen ?
Hinweis: in den zu kopierenden Datenzellen befinden sich nur statische Inhalte, keine Formeln, Verknüpfungen etc.!
Gruß
Kay
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel-Datei per Update aktualisieren


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei per VBA zu aktualisieren, folge diesen Schritten:

  1. Neue Excel-Datei erstellen: Stelle sicher, dass die neue Datei die aktuellen Daten enthält, die du in die alte Datei übertragen möchtest.

  2. Makro in der alten Datei erstellen:

    • Öffne die alte Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
    • Füge ein neues Modul hinzu (Einfügen > Modul) und schreibe den folgenden Code:
    Sub UpdateExcelDocument()
       Dim updateWorkbook As Workbook
       Dim oldWorkbook As Workbook
       Dim path As String
       Dim updateFileName As String
    
       ' Pfad der alten Datei
       path = ThisWorkbook.Path
       ' Name der Update-Datei
       updateFileName = "UpdateDatei.xlsx" ' Ändere dies entsprechend
    
       ' Update-Datei im Hintergrund öffnen
       Set updateWorkbook = Workbooks.Open(path & "\" & updateFileName)
    
       ' Alte Datei referenzieren
       Set oldWorkbook = ThisWorkbook
    
       ' Blätter oder Bereiche kopieren
       updateWorkbook.Sheets(1).Cells.Copy Destination:=oldWorkbook.Sheets(1).Cells
       updateWorkbook.Sheets(2).Cells.Copy Destination:=oldWorkbook.Sheets(2).Cells
       updateWorkbook.Sheets(3).Cells.Copy Destination:=oldWorkbook.Sheets(3).Cells
    
       ' Update-Datei schließen
       updateWorkbook.Close False
    
       ' Erfolgsnachricht
       MsgBox "Daten wurden erfolgreich aktualisiert!"
    End Sub
  3. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die Daten zu aktualisieren.


Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"
    Lösung: Überprüfe, ob der Dateiname und der Pfad korrekt sind.

  • Fehler: "Zugriff verweigert"
    Lösung: Stelle sicher, dass die Datei nicht schreibgeschützt ist und dass der Zugriff auf das VBA-Projekt erlaubt ist.

  • Fehler: Alte Daten bleiben stehen
    Lösung: Stelle sicher, dass du die Zellen im alten Dokument vollständig überschreibst und keine alten Daten zurücklässt.


Alternative Methoden

Es gibt verschiedene Ansätze, um eine Excel-Datei zu aktualisieren:

  • Power Query: Nutze Power Query, um Daten aus einer anderen Excel-Datei zu importieren und zu aktualisieren. Dies kann eine gute Alternative sein, wenn du keine VBA-Kenntnisse hast.

  • Formeln: Verwende Formeln, um Daten dynamisch aus einer anderen Datei zu ziehen. Dies ist jedoch weniger flexibel als ein VBA-Skript.


Praktische Beispiele

  1. Kopiere Daten aus einem bestimmten Bereich:

    updateWorkbook.Sheets(1).Range("A1:C10").Copy Destination:=oldWorkbook.Sheets(1).Range("A1")
  2. Aktualisiere nur bestimmte Zellen:

    oldWorkbook.Sheets(1).Range("A1").Value = updateWorkbook.Sheets(1).Range("A1").Value

Diese Beispiele zeigen, wie du spezifische Bereiche oder Zellen in deiner Excel-Tabelle aktualisieren kannst.


Tipps für Profis

  • Fehlerbehandlung einbauen: Verwende On Error Resume Next, um sicherzustellen, dass das Makro nicht bei einem Fehler stoppt.

  • Benutzerfreundlichkeit verbessern: Verwende InputBoxen, um den Benutzern zu erlauben, den Namen der Update-Datei einzugeben.

  • Automatisierung: Plane das Makro so, dass es automatisch zu bestimmten Zeiten ausgeführt wird, um die neuesten Daten zu erhalten.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Daten korrekt aktualisiert werden?
Teste das Makro mit Testdaten, um sicherzustellen, dass alles wie gewünscht funktioniert.

2. Kann ich das Makro auch ohne VBA ausführen?
Ja, du kannst auch Power Query verwenden, um Daten aus anderen Excel-Dateien zu importieren, ohne VBA zu verwenden.

3. Was passiert, wenn die Update-Datei nicht vorhanden ist?
Das Makro wird einen Fehler auslösen. Implementiere eine Fehlerbehandlung, um dies zu vermeiden.

4. Wie oft sollte ich die Daten aktualisieren?
Das hängt von der Art deiner Daten ab. Wenn sich die Daten alle 6 Monate ändern, plane regelmäßige Updates entsprechend.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige