1
Excel / Office 2010: Antw: Daten aus geschlossener Datei holen mit VBA
« am: März 17, 2016, 10:24:54 Vormittag »
Guten Tag
Ich habe die Lösung des Problems gefunden. Für alle, die hier mit dem gleichen Problem landen, möchte ich sie hier schnell aufzeigen.
Es ist gar nicht nötig, dass die Umwandlung der aktuelen zelladresse in das Blatt geschrieben wird. Ich habe einfach eine neue Variable definiert, die ich der Funktion GetValue mitgebe. Die Lösung sieht so aus:
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, relzelle as string
'** 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
relzelle = zelle.Address(False, False)
'** Eintragen in Bereich
ActiveSheet.Cells(zelle.Row, zelle.Column).Offset(relzeile, relspalte).Value = GetValue(pfad, datei, blatt, relzelle )
Next zelle
End Sub
Liebe Grüsse aus der Schweiz
rodlof
Ich habe die Lösung des Problems gefunden. Für alle, die hier mit dem gleichen Problem landen, möchte ich sie hier schnell aufzeigen.
Es ist gar nicht nötig, dass die Umwandlung der aktuelen zelladresse in das Blatt geschrieben wird. Ich habe einfach eine neue Variable definiert, die ich der Funktion GetValue mitgebe. Die Lösung sieht so aus:
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, relzelle as string
'** 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
relzelle = zelle.Address(False, False)
'** Eintragen in Bereich
ActiveSheet.Cells(zelle.Row, zelle.Column).Offset(relzeile, relspalte).Value = GetValue(pfad, datei, blatt, relzelle )
Next zelle
End Sub
Liebe Grüsse aus der Schweiz
rodlof