Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten aus anderer Excel-Datei einfügen

Daten aus anderer Excel-Datei einfügen
25.07.2013 21:53:52
UliBrenn
Hallo!
Mein urspünglicher Post ist schon ziemlich weit unten, leider hat mir bisher niemand geholfen. Ich will mein Post verbessern und es nochmal probieren etwas Unterstützung zu bekommen! Freu mich über jede Hilfe!
Es sollen Daten aus einer Excel-Tabelle in eine bestehende Tabelle eingefügt werden. Die bestehende Tabelle also mit den neuen Daten „aktualisiert“ werden. Die Daten sollen nicht überschrieben werden. Die Spaltennamen sind verschieden, auch die Reihenfolge. Es bedarf also einer Zuordnung.
Ich möchte nun ein Makro erstellen, welches diesen „Job“ aus der bestehenden Excelmappe erledigt, da die manuelle Bearbeitung auf Dauer total nervig ist.
Über eine Websuche habe ich bereits einen Vorschlag gefunden. Leider werden die Daten nicht in die erste leere Zeile eingefügt, ich verstehe auch nicht, wie ich eine Spaltenzuordnung vornehmen kann.
Die Spaltenbezeichnungen und die Reihenfolge meiner Tabellen sind jeweils verschieden.
Das Makro soll folgende Schritte erledigen:
1. Suchen der ersten freien Zeile in der bestehenden Tabelle "Bestand" (damit keine bestehenden Daten überschrieben werden)
2. Falls notwendig, „Öffnen der Excelmappe „Neue Daten“ unter Ordner ../..
3. Kopieren & einfügen der Daten anhand entsprechender Spaltenamen
4. Ggf. schließen der Excel-Tabelle "Neue Daten"
Es wäre toll, wenn mir jemand helfen könnte und mir dabei Erläuterungen geben kann, damit ich die Spaltennamen und Excel-Dateinamen selbst modifzieren kann. Und ich eben auch mal groß werden will:)
Vielen Dank im Voraus!
Beispieldateien habe ich hier eingefügt:
https://www.herber.de/bbs/user/86522.xlsx
https://www.herber.de/bbs/user/86523.xlsx
Eine Zuordnung wäre:
Tabelle1
 ABCDEF
1  ABCDE
21  IDFreiTerminAntwort bis
32Daten anfügen aus SpalteVorgang  DatumFrist

Tabellendarstellung in Foren Version 8.6 by Beverly's Excel-Inn


Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus anderer Excel-Datei einfügen
26.07.2013 14:51:30
thomas
hey,
habe deine frage nicht 100% verstanden
Ist der Name der Spalte nicht egal wenn du die Dateien zusammen fügst?
wozu ist die Excel Mappe neue Daten gut?
um die erste leere Zeile zu finden kannst du das hier benutzen:

Sub test()
'Deklaration der Vairablen
Dim i As Integer
Dim b As Integer
'die Schleife startet in der ersten Zeile
i = 1
' die Zweite Spalte wird durchlaufen
b = 2
'Schleife bis Zeile = 1000
For i = 1 To 1000
i = i + 1
'Test ob Zelle befüllt ist
If Cells(i, b).Value = "" Then Exit For
Next
'hier was er dann machen soll
End Sub
danach ist i die die Anzahl der erste leeren Zeile

Anzeige
AW: Daten aus anderer Excel-Datei einfügen
27.07.2013 11:06:43
Oberschlumpf
Hi thomas
Und was ist, wenn - warum auch immer (wir wissen es nicht) - in Spalte 2 in Zeile 1001 auch etwas steht?
Zeile 1001 und alle weiteren Zeilen werden in deinem Code nicht berücksichtigt.
Ciao
Thorsten

AW: Daten aus anderer Excel-Datei einfügen
29.07.2013 19:20:53
UliBrenn
Hallo!
Vielen Dank fuer Eure Hilfe.
Ich verfolge jetzt erstmal die Loesung von Franz.
Da habe ich leider etwas uebersehen! Dankeschoen!

Anzeige
AW: Daten aus anderer Excel-Datei einfügen
27.07.2013 14:08:09
fcs
Hallo Uli,
ich hab in deiner Datei ein Blatt eingefügt zur Steuerung der Aktualisierung mit entsprechenden Makros.

Die Datei https://www.herber.de/bbs/user/86591.xlsm wurde aus Datenschutzgründen gelöscht


Gruß
Franz

Anzeige
AW: Daten aus anderer Excel-Datei einfügen
29.07.2013 19:18:29
UliBrenn
Hallo Franz!
Wahnsinn! Hab vielen lieben Dank! Ich hatte heute Zeit, das Ergebnis auszuprobieren und es nachzuvollziehen.
Nochmal: Dankeschön! Will ich auch so können!
Beim Testen bin ich natürlich jetzt auf ein Problem gestoßen, auf das ich
vorher nicht geachtet habe.
Die neuen Daten haben alle ein Hochkomma vorangestellt und das Datum hat
ein anderes Format – zudem wird die Differenz zum heutigen Tage angezeigt.
Mit den Formeln Links und Wechseln – also z.B. =LINKS(WECHSELN
(D31;"/";".");10) kann ich die Daten richtig umwandeln. Ich finde nur
irgendwie den Faden nicht, wie ich das in das Makro einbinde.
Am tollsten wäre es, wenn ich dem Makro noch die entsprechende Anpassung
(Formel) mitgeben kann. Diese in die Steuerung eingeben kann.
Darf ich Dich deswegen noch einmal ansprechen?
Viele Grüße!

Anzeige
AW: Daten aus anderer Excel-Datei einfügen
30.07.2013 06:21:39
fcs
Hallo Uli,
es ist kein Problem mich mit einer Folgefrage zu "belästigen"
Grundsätzlich gibt es jetzt 2. Möglichkeiten:
1. per Makro werden deine Formeln angepasst/kopiert für die jeweils neuen Zellbereiche
2. Das Makro wandelt die als Text vorliegenden Datumswerte in ein excelinternes Datum um.
Dazu müßtest du deine Beispieldatei mit letztem Stand nochmals hochladen und genau beschreiben, was das Makro noch zusätzlich machen soll.
Gruß
Franz

Anzeige
AW: Daten aus anderer Excel-Datei einfügen
30.07.2013 23:03:25
UliBrenn
Hallo Franz!
Danke für Deine Antwort und Klarstellung hinsichtlich weiterer Nachfragen – ist echt klasse vpn Dir!
Das tolle an Deiner Lösung ist die Flexibilität, die ich gerne behalten möchte. Wie geschrieben handelt es sich um mehrere Vorgänge und somit mehrere Vorlagen mit abweichenden Spaltennamen.
Da ist das Tabellenblatt Steuerung ideal!
Ich möchte deshalb gerne im Steuerungsblatt die Formeln hinterlegen, damit ich diese ggf. anpassen kann. Trifft eine „Zuordnung“ zu, so sollte die Formel auf die neuen und einzufügenden Daten angewendet werden.
Alternativ kann ich auch diese an der richtigen Stelle im VBA-Code einfügen. Das müsstest Du mir kurz erläutern, so weit bin ich mit meinem VBA-Buch und Verständnis noch nicht. Wie finde ich die richtige Stelle im Code für die Formel bei der jeweiligen Spaltenüberschriftssteuerung?
Ich habe die Beispieldatei so angepasst, dass Du hoffentlich meine Makroschritte nachvollziehen kannst. Neben den Datenformaten bin ich noch auf Probleme wie Zellenformatierung, leere Zeilen und das Löschen der Zeile „Gesamt“ gestoßen.
Der Betrag wird in „Hochkomma Zahle(n) Leerzeichen EUR“ ausgegeben. Also „1234,55 EUR“. Um die reinen Zahlen zu bekommen, vermute ich eine Formel mit „Suchen“, „Teil“ und „Länge“; verflixt, ich komme nicht drauf. Wie Du siehst, bleibt bei der aktuellen Formel das Hochkomma stehen.
Beim Daten anonymisieren ist das „eine“ ursprüngliche Hochkomma in der Zellenanzeige selbst verschwunden. Oben in der Befehlszeile ist es noch da.
Nach all dem, finde ich Deine Variante 1 wohl besser?
Ich hoffe, es nicht zu viel:
Die Schritte für das Makro wären:
1. Kopieren der Daten anhand der Steuerungszuordnung (wie bisher)
2. Anwenden der Formeln nach der Zuordnung auf die neuen Daten
3. Var.1: Einfügen anhand Steuerung, Zellformatierung der ursprünglichen Zelle beim Einfügen bleibt; Var.2: Layout der Zellen wird entfernt, Daten werden eingefügt
4. Die Neuen Zellen werden rechts gebündelt
5. Entfernen des Gesamtbetrages: Wenn in Zeile das Wort „Gesamt:“, dann Zeile löschen
6. Entfernen von leeren Zeilen (siehe Zeile 16) in der Beispieldatei. Wenn Zeile leer, dann löschen
Ideal wäre noch die Übernahme des Datums aus Zelle A11 beispielsweise in eine Spalte Eingangsdatum. Bei der Formel habe ich das gleiche Problem, wie beim Betrag.
7. Datum aus A11 in Spalte „Eingangsdatum“ in Format tt.mm.jjjj bei den neuen Daten.
8. Alternativ das aktuelle Tagesdatum
Lieber Franz, ich hoffe, Du kannst alle meine Herzenswünsche nachvollziehen können. Deine Unterstützung macht mir sehr viel Freude. Nochmals Dankeschön!
Uli!
Angepasste Beispieldatei
https://www.herber.de/bbs/user/86639.xlsx
Steuerung mit Fomeln
https://www.herber.de/bbs/user/86640.xls

Anzeige
AW: Daten aus anderer Excel-Datei einfügen
31.07.2013 15:48:33
fcs
Hallo Uli,
ich hab deine Wunschliste mal in Angriff genommen.
Die Formeltexte funktionsfähig in die Zellen zu bekommen war etwas schwieriger als gedacht, da die Zellbezüge nicht ordnungsgemäßfunktionierten.
Das Ende vom Lied: Für die Zelladressen muss die Z1S1 (oder engl. R1C1)-Schreibweise in den Formeln verwendet werden. Nur so können mit geringem Aufwand die Formeln korrekt in die Zellen übertragen werden. Im Steuerungsblatt wird vor die Formeln nur ein "'" eingefügt. Die Ansicht der Formelschreibweise kann man unter den Optionen für Formeln einstellen.
Im Steuerungsblatt müssen jetzt noch ein paar zusätzliche Informationen eingetragen werden, damit der Datentransfer funktioniert.
Gruß
Franz
https://www.herber.de/bbs/user/86650.xls

Anzeige
AW: Daten aus anderer Excel-Datei einfügen
31.07.2013 22:06:32
UliBrenn
Hallo Franz!
Hab vielen, vielen herzlichen Dank für den „Angriff auf meine Wunschliste“! Wahnsinn, für mich hast Du ein wirklich cooles Tool programmiert und jemanden sehr viele Nerven geschenkt! Danke nochmals!
Ich habe es geschafft, Formeln anzupassen und die Tabelle zu erweitern. Man oh man – die Formellogik mit dem Betrag ist echt ein Brett.
Dein VBA Code kann ich derzeit leider nur stellenweise verstehen – aber man hat auch Ziele.
Die Lösung mit Z1S1 ist wirklich interessant - gut zu wissen.
Ich habe noch zwei kleine Nachfragen:
Gibt es einen (Objekt-)Name für die neuen Daten? Ich würde gerne eine Schaltfläche einbauen, die die neuen Daten in den Zwischenspeicher kopiert.
Kann man dem Generierungsdatum auch eine feste Spalte zuweisen, also so wie in der Zeile, in der das Eintragen der Formel definiert wird?
Viele Grüße!
Uli!!!!!!!!

Anzeige
AW: Daten aus anderer Excel-Datei einfügen
01.08.2013 09:28:26
fcs
Hallo Uli,
Kann man dem Generierungsdatum auch eine feste Spalte zuweisen, also so wie in der Zeile, in der das Eintragen der Formel definiert wird?
Wenn man das eine kann, dann kann man natürlich auch das andere -;)
Ich hab im Steuerungsblatt Zelle C4 dafür festgelegt, Makro angepasst.
Gibt es einen (Objekt-)Name für die neuen Daten?
Den gibt es als solches nicht, der muss erst kreiert werden.
Das Aktualisiermakro legt jetzt für die neu hinzugefügten Zeilen einen Namen "Daten_Neu" an. Die Spalten (von und bis) des Namens legst du im Steuerungsblatt in Zeile 8 fest. Da die Schaltfläche und das zugehörige Makro ein Klacks sind hab ich sie gleich mit in beiden Blättern eingebaut.
Ich hab für die Eingabezellen auch noch ein paar bedingte Formatierungen hinterlegt. Zellen werden rot, wenn Eingabe noch fehlt. Zellen mit Spalten-Eingaben werden gelb, wenn Zahlen eingegeben werden.
Das Makro, das das Eingangsdatum ermittelt hab ich noch etwas optimiert, so das bei einem Konvertierungsfehler eine Korrektur eingegeben bzw. das aktuelle Datum bestätigt werden kann.
Gruß
Franz
https://www.herber.de/bbs/user/86663.xls

Anzeige
AW: Daten aus anderer Excel-Datei einfügen
03.08.2013 15:06:11
UliBrenn
Hallo Franz!
Nochmals: Vielen herzlichen Dank für Deine Anwort und Anpassung!!!!!
Ich hab jetzt nun schon wieder Nachfragen:
Wie ich mit range und cells arbeite habe ich mittlerweile gelernt.
Wie sage ich dem Makro, dass es innerhalb der NeueDaten
eine Spalte auswählen soll? Ich würde gerne in der Steuerung für eine Splate eine Default-Wert eingeben
und diesen dann in die Tabelle1 mitgeben.
Zudem will ich über eine Schaltfläche ein Kontrolle von bestimmten Spalten nach
Mehrfacheinträgen programmieren. Derzeit mache ich das mit Wenn("zählenwenn)größer null".
Du hast bestimmt eine bessere Idee?
Dann gibt es aber WIRKLICH keine neuen Wünsche mehr!!
Viele Grüße!
Uli!!!!!!!!!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Daten aus einer anderen Excel-Datei importieren


Schritt-für-Schritt-Anleitung

Hier sind die Schritte, um Daten aus einer anderen Excel-Datei zu importieren:

  1. Öffne die Excel-Datei, in die du Daten einfügen möchtest.

  2. Erstelle ein Makro, um die Daten zu importieren. Das folgende VBA-Skript kann dir dabei helfen:

    Sub DatenImportieren()
        Dim wbZiel As Workbook
        Dim wbQuelle As Workbook
        Dim wsZiel As Worksheet
        Dim wsQuelle As Worksheet
        Dim letzteZeile As Long
        Dim i As Long
    
        ' Öffne die Quell-Datei
        Set wbZiel = ThisWorkbook
        Set wsZiel = wbZiel.Sheets("Bestand") ' Ziel-Tabelle
        Set wbQuelle = Workbooks.Open("PfadZurDatei\NeueDaten.xlsx") ' Pfad zu deiner Datei
        Set wsQuelle = wbQuelle.Sheets(1) ' Annahme: Daten sind im ersten Blatt
    
        ' Finde die erste leere Zeile in der Ziel-Tabelle
        letzteZeile = wsZiel.Cells(wsZiel.Rows.Count, 1).End(xlUp).Row + 1
    
        ' Kopiere Daten aus der Quelle
        For i = 1 To wsQuelle.Cells(wsQuelle.Rows.Count, 1).End(xlUp).Row
            wsZiel.Cells(letzteZeile, 1).Value = wsQuelle.Cells(i, 1).Value ' Anpassen je nach Spaltenzuordnung
            letzteZeile = letzteZeile + 1
        Next i
    
        ' Schließe die Quell-Datei
        wbQuelle.Close
    End Sub
  3. Passe das Makro an deine spezifischen Anforderungen an, z.B. Spaltenzuordnung.

  4. Führe das Makro aus, um die Daten zu importieren.


Häufige Fehler und Lösungen

  • Die einzufügenden Daten haben nicht die gleiche Größe wie der ausgewählte Bereich: Stelle sicher, dass die Anzahl der Spalten in den Quell- und Zieltabelle übereinstimmt. Überprüfe die Zuordnung der Spalten im VBA-Code.
  • Fehlermeldungen beim Öffnen der Datei: Überprüfe den angegebenen Pfad zur Quell-Datei. Achte darauf, dass die Datei existiert und nicht geschützt ist.
  • Datenformatierung: Wenn die Daten nicht im gewünschten Format erscheinen, überprüfe die Formatierung in der Quell-Datei und passe sie gegebenenfalls im Zielblatt an.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, Daten aus einer anderen Excel-Datei zu importieren:

  • Kopieren und Einfügen: Du kannst die Daten manuell kopieren und in die Ziel-Datei einfügen. Diese Methode ist einfach, kann jedoch bei großen Datenmengen zeitaufwändig sein.
  • Power Query: In neueren Excel-Versionen kannst du Power Query verwenden, um Daten aus verschiedenen Quellen zu importieren und zu transformieren. Dies ist eine robuste Methode, die auch Datenanonymisierung ermöglicht.

Praktische Beispiele

Hier sind einige Beispiele, wie du Daten aus einer anderen Excel-Datei importieren kannst:

  • Import von Wetterdaten: Wenn du Wetterdaten hast, die aus einer Excel-Datei in deine Analyse eingefügt werden sollen, kannst du das oben genannte Makro anpassen, um nur die relevanten Spalten zu importieren.

  • Kopieren von Verkaufszahlen: Angenommen, du hast Verkaufszahlen in einer Excel-Datei, die du in deine monatliche Umsatzanalyse integrieren möchtest. Du kannst die Spaltennamen in deinem Makro anpassen, um sicherzustellen, dass die richtigen Daten importiert werden.


Tipps für Profis

  • Daten anonymisieren: Wenn du sensible Daten importierst, verwende Funktionen wie =DATENANONYMISIEREN() in Excel, um personenbezogene Informationen zu schützen.
  • Makros optimieren: Verwende Application.ScreenUpdating = False vor Beginn des Makros und Application.ScreenUpdating = True am Ende, um die Ausführungsgeschwindigkeit zu erhöhen.
  • Fehlerbehandlung implementieren: Füge Fehlerbehandlungsmechanismen in dein Makro ein, um unerwartete Situationen zu handhaben. Zum Beispiel:

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    
    Fehlerbehandlung:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

FAQ: Häufige Fragen

1. Wie kann ich Daten aus einer Excel-Datei in eine andere einfügen? Du kannst ein Makro verwenden, um die Daten zu kopieren und einzufügen, oder die Daten manuell kopieren.

2. Was tun, wenn die Spaltennamen unterschiedlich sind? Du kannst eine Zuordnung im VBA-Code erstellen, um die Spalten korrekt zuzuordnen, oder Power Query verwenden, um die Daten zu transformieren.

3. Wie anonymisiere ich Daten in Excel? Verwende Formeln oder VBA, um sensible Informationen zu anonymisieren, bevor du die Daten in eine andere Datei einfügst.

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