Anzeige
Archiv - Navigation
1844to1848
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Daten aus anderer Datei kopieren

Daten aus anderer Datei kopieren
23.08.2021 16:27:11
SilentBob78
Hallo zusammen,
ich als absoluter Anfänger in Sachen VBA benötige etwas fachmännischen Rat und Hilfe bei meinem Projekt.
Ich möchte per VBA eine andere Datei öffnen und alle Werte die unter einer Bestimmten Überschrift stehen in eine andere Datei kopieren.
Anbei ein Makro mit welchem das Kopieren funktioniert, jedoch nur wenn ich dieses in der Quelldatei hinterlege.
Ich möchte nun das Makro so ändern, das es von der Zieldatei aus ausgeführt wird und die Quelldatei in einem definierten Pfad anhand des Namen öffnet und die Werte kopiert (gerne auch im Hintergrund).
Zieldatei in meinem Beispiel ist "DATEN" und die Quelldatei "BEISPIEL"
Vorab vielen Dank für jegliche Hilfestellungen.

Sub DATEN()
Dim ws As Worksheet, wsZiel As Worksheet
Dim rngZelle As Range
Set wsZiel = Worksheets("DATEN")
Set ws = Worksheets("BEISPIEL")
Set rngZelle = ws.Rows(1).Find("Materialnummer", , , xlWhole)
If Not (rngZelle Is Nothing) Then
Range(Cells(2, rngZelle.Column), Cells(30000, rngZelle.Column)).Copy wsZiel.Range("L3")
End If
Set rngZelle = ws.Rows(1).Find("Auftragsmenge (GMEIN)", , , xlWhole)
If Not (rngZelle Is Nothing) Then
Range(Cells(2, rngZelle.Column), Cells(30000, rngZelle.Column)).Copy wsZiel.Range("M3")
End If
Set ws = Nothing
Set wsZiel = Nothing
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus anderer Datei kopieren
23.08.2021 16:47:09
Werner
Hallo,
den Pfad mußt du halt anpassen.

Sub DATEN()
Dim wbQuelle As Workbook, wsQuelle As Worksheet
Dim wbZiel As Workbook, wsZiel As Worksheet
Dim rngZelle As Range
Application.ScreenUpdating = False
Set wbZiel = ThisWorkbook
Set wsZiel = wbZiel.Worksheets("DATEN")
Set wbQuelle = Workbooks.Open("C:/Temp/Quelldatei.xlsx")
Set wsQuelle = wbQuelle.Worksheets("BEISPIEL")
With wsQuelle
Set rngZelle = .Rows(1).Find(what:="Materialnummer", LookIn:=xlValues, lookat:=xlWhole)
If Not (rngZelle Is Nothing) Then
loletzte = .Cells(.Rows.Count, rngZelle.Column).End(xlUp).Row
.Range(.Cells(2, rngZelle.Column), .Cells(loletzte, rngZelle.Column)).Copy wsZiel.Range("L3")
End If
Set rngZelle = .Rows(1).Find(what:="Auftragsmenge (GMEIN)", LookIn:=xlValues, lookat:=xlWhole)
If Not (rngZelle Is Nothing) Then
loletzte = .Cells(.Rows.Count, rngZelle.Column).End(xlUp).Row
.Range(.Cells(2, rngZelle.Column), .Cells(loletzte, rngZelle.Column)).Copy wsZiel.Range("M3")
End If
End With
wbQuelle.Close False
Set wbQuelle = Nothing: Set wsQuelle = Nothing: Set wbZiel = Nothing: Set wsZiel = Nothing: Set rngZelle = nohting
End Sub
Gruß Werner
Anzeige
da scheint ja wohl....
28.08.2021 14:44:51
Werner
Hallo,
....der Name Programm zu sein.
Um Hilfe gebeten - solche bekommen - Ergebnis - Silent
Gruß Werner

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige