Ich selbst kenne mich jetzt nicht so gut mit VBA und Excel aus und habe gedacht ich könne mir ein bisschen was aus anderen Funktionen und Beispielen zusammenklauben. Leider funktioniert das ganze nicht so ganz.
Es soll im Prinzip die Daten aus einer geschlossen Datei von A1-N1000 übernehmen und in die Geöffnete Datei in das Arbeitsblatt Daten einfügen.
Nachdem das Makro 4 Minuten ausgeführt wurde (was auch viel zu Lange ist) kam zwar ein Eintrag in alle Zeilen, allerdings steht überall nur #Bezug drin.
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
Sub Bereich_auslesen()
'** Dimensionierung der Variablen
Dim pfad As String
Dim datei As String
Dim blatt As String
Dim bereich As Range
Dim zelle As Range
'** Angaben zur auszulesenden Zelle
pfad = "O:\HOTEL\02. REZEPTION\Kreditkartenkontrolle\"
datei = "Kreditkarten des Tages.xls"
blatt = "Sheet1"
Set bereich = Range("A1:N1000")
'** Bereich auslesen
For Each zelle In bereich
'** Zellen umwandeln
zelle = zelle.Address(False, False)
'** Eintragen in Bereich
Sheets("Daten").Cells(zelle.Row, zelle.Column).Value = GetValue(pfad, datei, blatt, zelle)
Next zelle
End Sub
Ich hoffe es ist verständlich erklärt und mir kann weitergeholfen werden.Vielen Dank für eure Hilfe.