Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
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 Quelle auslesen und in Zieldatei kopieren

Daten aus Quelle auslesen und in Zieldatei kopieren
26.10.2019 12:02:57
Katrin
Hallo Forum,
dieser Code, den ich im Internet gefunden habe, macht eigentlich fast genau was ich möchte. Allerdings sollen die Werte in der Zieldatei in den Bereich B4:H1402 eingetragen werden. Und schon daran scheitere ich. Kann mir jemand helfen?
Sub Bereich_auslesen()
'** Dimensionierung der Variablen
Dim pfad As String, datei As String, blatt As String, bereich As Range, zelle As Object
'** Angaben zur auszulesenden Zelle
pfad = ThisWorkbook.Path
datei = "Quelle.xlsx"
blatt = "Sheet3"
Set bereich = Range("A2:G1400")
'** Bereich auslesen
For Each zelle In bereich
'** Zellen umwandeln
zelle = zelle.Address(False, False)
'** Eintragen in Bereich
ActiveSheet.Cells(zelle.Row, zelle.Column).Value = GetValue(pfad, datei, blatt, zelle)
Next zelle
End Sub
Private Function GetValue(pfad, datei, blatt, zelle)
'** Daten aus geschlossener Arbeitsmappe auslesen
'*** Dimensionierung der Variablen
Dim arg As String
'Sicherstellen, dass das datei vorhanden ist
If Right(pfad, 1)  "\" Then pfad = pfad & "\"
If Dir(pfad & datei) = "" Then
GetValue = "datei Not Found"
Exit Function
End If
'** Das Argument erstellen
arg = "'" & pfad & "[" & datei & "]" & blatt & "'!" & Range(zelle).Range("A1").Address(, ,  _
xlR1C1)
'** Auslesen über Excel4Macro
GetValue = ExecuteExcel4Macro(arg)
End Function

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

Betreff
Datum
Anwender
Anzeige
Bei so vielen Zellen würde ich...
26.10.2019 12:31:57
Case
Hallo Katrin, :-)
... es so schreiben (getestet): ;-)
Option Explicit
Const strSheetQ As String = "Sheet3" ' DIE Tabelle wird ausgelesen"
Const strSheetZ As String = "Tabelle1" ' Die Tabelle in DIESER Datei
Const strRange As String = "A2:G1400" ' Der Bereich wird ausgelesen
Const strZiel As String = "B4:H1402" ' Zielbereich
Const strFile As String = "E:\OneDrive\Office2021\Quelle.xlsx" ' Pfad und Datei
Public Sub Main()
With ThisWorkbook.Worksheets(strSheetZ)
.Range(strZiel).Formula = "='" & Mid(strFile, 1, _
InStrRev(strFile, "\")) & "[" & _
Mid(strFile, InStrRev(strFile, _
"\") + 1) & "]" & _
strSheetQ & "'!" & strRange
.Range(strZiel).Value = .Range(strZiel).Value
End With
End Sub
Die Konstanten entsprechend anpassen - fertig. ;-)
Servus
Case

Anzeige
AW: Bei so vielen Zellen würde ich...
26.10.2019 13:59:15
Katrin
Hallo Case,
vielen Dank für Deine schnelle Hilfe. Ich kann`s leider erst morgen ausprobieren, da ich jetzt zur Arbeit muß. Danke
AW: Bei so vielen Zellen würde ich...
28.10.2019 17:59:18
Katrin
Hallo Case,
ich habe Deine Anweisungen angepaßt und ausprobiert. Es werden auch Daten übertragen, aber leider nicht so wie ich es bräuchte. Ich habe mit einer kleineren Beispiel-Datei getestet und dies ist das Ergebnis:
Quelle:
Userbild
Ziel:
Userbild
Und so wärs perfekt:
Userbild
Es wäre schön wenn Du es Dir noch einmal ansehen könntest. Vielleicht mache ich etwas falsch?
LG Katrin
Anzeige
Oohhh ja - da hätte ich...
29.10.2019 07:13:41
Case
Hallo Katrin, :-)
... mal besser testen sollen. ;-)
Beispieldatei...
Entpacke dir mal die Datei und passe den Pfad an. Sollte jetzt passen. ;-)
Servus
Case

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige