Guten Tag, liebe Excel-Freunde
Auf der Suche nach einem Makro, das die Daten aus einem riesengrossen File ausliest ohne dieses lange zu öffnen, bin ich bei Alois Eckl fündig georden. Das Makro verwendet die Excel4Makro-Funktion und ist genau das, was ich suche. Allerdings will ich die Daten nicht an derselben Stelle einfügen, sondern mit einem Offset. Ich habe das Makro nun entsprechend abgeändert und es trägt die Daten auch dort ein:
Sub Bereich_auslesen()
'** Dimensionierung der Variablen
Dim pfad As String, datei As String, blatt As String, bereich As Range, zelle As Object
Dim relzeile As Integer, relspalte As Integer
'** Angaben zur auszulesenden Zelle
pfad = "Q:\G_ZV_SPA_FINANZ\Controlling\!Neuer Master\Test"
datei = "Quelldatei.xlsx"
blatt = "Tabelle1"
Set bereich = Range("A2:B11")
relzeile = ActiveCell.Row - bereich.Row
relspalte = ActiveCell.Column - bereich.Column
'** Bereich auslesen
For Each zelle In bereich
'** Zellen umwandeln
zelle = zelle.Address(False, False)
'** Eintragen in Bereich
ActiveSheet.Cells(zelle.Row, zelle.Column).Offset(relzeile, relspalte).Value = GetValue(pfad, datei, blatt, zelle)
Next zelle
End Sub
Nun habe ich aber das Problem, dass beim Auslesen die Zeile "zelle = zelle.Address(False, False)" die Adresse der Zelle auch in die entsprechende Zelle in der Zieldatei schreibtr. Beim ursprüngölichen Makros wird dieser Eintrag dann mit dem Wert selber überschrieben, und ist daher nur temporär vorhanden. Mit einem Offset bleiben diese Einträge aber bestehen.
Hat vielleicht jemand eine Idee, wie ich das umgehen könnte? Vielen Dank im Voraus für die Hilfe
Freundliche Grüsse aus der Schweiz
rodlof