Bezug verändern
11.09.2003 08:15:09
Franz W.
ich habe Probleme mit dem folgenden Code, mit dem ich Daten aus einer anderen Datei importiere:
Sub Importieren()
Dim rng As Range
Dim sFormula As String, sPath As String
Dim sWkb As String, sWks As String
sPath = ThisWorkbook.Path
sWkb = Range("F1").Value
If Dir(sPath & "\" & sWkb) = "" Then
Beep
MsgBox "Testdatei wurde nicht gefunden!"
End If
sWks = Range("F2").Value
sFormula = "='" & sPath & "\"
sFormula = sFormula & "[" & sWkb & "]"
sFormula = sFormula & sWks & "'!"
For Each rng In Selection.Cells
rng.Formula = sFormula & rng.Address
Next rng
With Selection
' .Value = .Value
End With
End Sub
Es geht mir nun um folgende Zeile: " rng.Formula = sFormula & rng.Address "
Wenn "rng.Address" z. B. die Zelle D4 ist, wie kann ich das dann umformulieren, dass er statt D4 z.B. B4 nimmt.
Einer meiner Versuche ist folgender Art:
rng.Formula = sFormula & rng.Address(1, 1, _
ReferenceStyle:=xlR1C1, RelativeTo:=Worksheets(1).Cells(2, 2))
Damit ändert sich aber gar nichts, er schreibt exakt dasselbe wie oben rein.
Schreibe ich stattdessen z.B. so...:
rng.Formula = sFormula & rng.Offset(0, -2)
... mault er mit "Anwendungs- oder objektorientierter Fehler."
Folgendes nimmt er auch nicht:
rng.Formula = sFormula & rng.Address.Offset(0, -2)
Da schreibt er: "Fehler beim Kompilieren. Ungültiger Bezeichner" und markiert den Teil .Address
Ich bitte Euch sehr herzlich um Eure Hilfe.
Vielen Dank schon mal im Voraus und Grüße
Franz