Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1968to1972
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

Werte aus anderer Exceldatei per VBA einfügen

Werte aus anderer Exceldatei per VBA einfügen
07.03.2024 14:41:00
Jukusa
Hallo zusammen,

ich möchte gern Daten per VBA aus einer anderen Datei kopieren und in eine andere Exceldatei einfügen. Mit nachfolgendem Code funktioniert das auch ganz gut.
Ich möchte aber nur die Werte rüberholen.
Wie muss ich den Code dazu abändern?

Vielen Dank schon mal für die Hilfe.

Dim sPfad As String
Dim wbQuelle As Workbook

'Dateipfad der Quelldatei
sPfad = "Pfad\Datei.xlsm"

'Prüfen, ob Datei existiert
If Dir(sPfad) > "" Then


'Arbeitsmappe öffnen
Set wbQuelle = Workbooks.Open(sPfad)

'Daten kopieren und einfügen
wbQuelle.Worksheets("Startzeit 4").Range("C1:K81").Copy ThisWorkbook.Worksheets("Blatt1").Range("C1")


'Arbeitsmappe schließen
wbQuelle.Close SaveChanges:=False
End If

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte aus anderer Exceldatei per VBA einfügen
07.03.2024 14:58:57
Onur
Wieso VBA? Das geht doch auch mit Formelverknüpfung.
"nur die Werte rüberholen"
07.03.2024 15:07:39
Yal
Hallo Jukusa,

es geht über Pastespecial. Dann muss das Kopieren und das Einfügen in 2 verschiedenen Schritte gemacht werden.

Sub Kopieren()

Const sPfad = "Pfad\Datei.xlsm"

If Dir(sPfad) > "" Then 'Prüfen, ob Datei existiert
With Workbooks.Open(sPfad) 'Arbeitsmappe öffnen
.Worksheets("Startzeit 4").Range("C1:K81").Copy 'Daten kopieren
ThisWorkbook.Worksheets("Blatt1").Range("C1").PasteSpecial xlPasteValues 'als Wert einfügen
.Close SaveChanges:=False 'Quelle-Arbeitsmappe schließen ohne speichern
End With
End If
End Sub


VG
Yal
Anzeige
AW: "nur die Werte rüberholen"
07.03.2024 15:34:45
Jukusa
Vielen Dank. Das geht super.

Wie muss ich das machen, wenn ich aus mehreren Arbeitsmappen Daten holen möchte?
Dateien in Schleife
08.03.2024 09:37:58
Yal
Hallo Jusuka,

Du musst dann eine Schleife bauen, die alle Dateien in einem Verzeichnis durchsucht. Sollten andere Art von Dateien im Verzeichnis sein, verwenden einen Schablone, also generische Dateiname mit * oder ??.

Sieht ungefähr so aus:
Sub Kopieren()

Dim Dateiname As String
Const cPfad = "Pfad\"
Const cDateiMuster = "Datei_2024??.xlsm"

Dateiname = Dir(cPfad & cDateiMuster)
Do While Dateiname > ""
With Workbooks.Open(cPfad & Dateiname) 'Arbeitsmappe öffnen
.Worksheets("Startzeit 4").Range("C1:K81").Copy 'Daten kopieren
ThisWorkbook.Worksheets("Blatt1").Range("C1").PasteSpecial xlPasteValues 'als Wert einfügen
.Close SaveChanges:=False 'Quelle-Arbeitsmappe schließen ohne speichern
End With
Dateiname = Dir() 'ohne weitere Parameter wird die nächste Datei im selben Verzeichnis gesucht
Loop
End Sub


VG
Yal
Anzeige
AW: Dateien in Schleife
08.03.2024 15:59:38
Jukusa
Hallo Yal,

ich bin heute leider nicht mehr dazu gekommen. Ich werde es am Montag testen.

Vielen Dank schon mal und ein schönes Wochenende.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige