Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Übernahme von Daten mehrerer Tabellenblätter in ein Tabellenblatt
#1
Hallo zusammen,

da ich wenig Ahnung von Excel habe, versuche ich mein Problem hier verständlich darzustellen:

Ich habe mehrere Excel Dateien die täglich durch Export aus unserem Warenwirtschaftssystem erzeugt werden.
In jeder der Dateien gibt es bestimmte Spalten deren Werte geändert werden müssen, im Anschluss muss jede Datei wieder zurück in die Warenwirtschaft importiert werden.

Folgenden Wunsch habe ich, vielleicht lässt sich das mit Excel umsetzen:

Ich möchte nun ein Tabellenblatt haben, das alle für mich wichtigen Spalten aus den einzelnen Dateien enthält.
Im Prinzip möchte ich Datei Z öffnen und sehe darin Spalte A von Datei X, Spalte C von Datei Y etc.
Es soll sozusagen eine Verküpfung sein.

Ziel ist es Werte nur in Datei Z zu ändern und nicht jede andere Datei öffnen zu müssen und die relevanten Spalten zu suchen.
Die in Datei Z geänderten Werte sollen dann wieder zurück in die entsprechenden einzelnen Dateien geschrieben werden, die im Anschluss wieder in die Warenwirtschaft importiert werden.

Lässt sich sowas umsetzen?

Vielen Dank
Markus
Antworten Top
#2
Hallo Markus,

im Prinzip könntest Du die Sache mit zwei aufgezeichneten Makros realisieren.

Makro1:
Datei Z leeren
Quelldatei1 öffnen, Spalte nach Datei Z kopieren, Quelldatei1 schließen
Quelldatei2 öffnen, Spalte nach Datei Z kopieren, Quelldatei2 schließen
Quelldatei3 öffnen, Spalte nach Datei Z kopieren, Quelldatei3 schließen
usw.

Dann kannst Du ändern

Dann kommt Makro2:
Quelldatei1 öffnen, Spalte aus Datei Z kopieren, Quelldatei1 schließen
Quelldatei2 öffnen, Spalte aus Datei Z kopieren, Quelldatei2 schließen
Quelldatei3 öffnen, Spalte aus Datei Z kopieren, Quelldatei3 schließen
usw.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Hallo André,

Danke für deine Rückmeldung.
Mit Makros habe ich mich bisher nicht beschäftigt, wie ich deinem Beispiel entnehme ist hier aber sehr viel manuelle Arbeit erforderlich?

Wie verhält es sich wen die Dateien täglich unterschiedlich viele Einträge enthalen, muss dann das Makro jedesmal angepasst werden?

Es könnte passieren dass die Dateien 20.000 Zeilen haben, funktioniert hier das Makro noch oder dauert der Vorgang zu lange?

Gruß
Markus
Antworten Top
#4
Hallo MArkus,

die Anzahl der Zeilen ist da nicht relevant Du sollst ja die ganze Spalte übernehmen und dann auch die ganze Spalte wieder zurückschreiben.

So ein Makro ist auch schnell aufgezeichnet und sieht dann ungefähr so aus. Ich habe da mal zwei Dateien aufgemacht, die Spalte kopiert und in die Mappe1 eingefügt und dann die Dateien wieder geschlossen. Da ist jetzt zwar auch einiger Müll drin, was man optimieren könnte, aber es funktioniert für den Hausgebrauch :63:

Code:
Sub Makro1()
'
' Makro1 Makro
'

'
    ChDir "C:\Test"
    Workbooks.Open Filename:="C:\Test\jupp.xlsx"
    Columns("C:C").Select
    Selection.Copy
    Windows("Mappe1").Activate
    Range("A1").Select
    Selection.Insert Shift:=xlToRight
    Application.Left = 106
    Application.Top = 287.5
    Windows("jupp.xlsx").Activate
    ActiveWindow.Close
    ChDir "C:\Users\Andre\Documents"
    Application.ActiveProtectedViewWindow.Edit
    Columns("I:I").Select
    Selection.Copy
    Windows("Mappe1").Activate
    Range("B1").Select
    Selection.Insert Shift:=xlToRight
    Windows("84638.xlsx").Activate
    ActiveWindow.Close
    Application.Left = 134.5
    Application.Top = 163
    ActiveCell.FormulaR1C1 = ""
    Range("D6").Select
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste