Supportnet / Forum / Tabellenkalkulation
VBA-Anfänger steckt fest
Frage
Hallo Helfer!
Meine Gehversuche mit VBA bei Excel-Anwendungen zeigen ersten Erfolge, doch nun stecke ich fest:
Ich habe eine Prozedur geschrieben, die mir die Variable ´Zeile´ einer Zelle zurückgibt (Spalte ist eine Konstante). In die aktive Zelle möchte ich eine Eintragung vornehmen, bei der ´Zeile´ ein Bestandteil ist. Am nahesten bin ich mit folgender Befehlszeile gekommen:
ActiveCell.FormulaR1C1 = Cells(Zeile, 3)
Der Nachteil ist hier, dass zwar der richtige Wert in der aktiven Zelle steht, nicht aber der von mir beabsichtigte Verweis im Sinne von ´=B4060´, wobei ´4060´ die Variable ´Zeile´ ist. Ich habe dann alternativ folgende Zeilen ausprobiert:
´ActiveCell.FormulaR1C1 = "=R4060C3"
´ActiveCell.FormulaR1C1 = "=R[4060]C[0]"
´ActiveCell = "=R[4060]C[0]"
Die bringen die gewünschten Verweise, aber ich scheitere an der Syntax, die Variable ´Zeile´ mit einzubauen.
Für einen Tipp bin ich dankbar.
Spog
Antwort 1 von M.O.
Hallo Spog,
mit
sollte es funktionieren.
Gruß
M.O.
mit
ActiveCell.FormulaR1C1 = "=R" & Zeile & "C3"sollte es funktionieren.
Gruß
M.O.
Antwort 2 von Spog
Hallo M.O.
Es funktioniert und ich bin begeistert. Danke.
Verrätst Du mir noch wie man die Dollars aus dem Ergebnis bekommt (Bezugsfestsetzung), also, dass dann in der Zeile beispielsweise nicht steht: =$C$4060, sondern =C4060?
Danke
Spog
Es funktioniert und ich bin begeistert. Danke.
Verrätst Du mir noch wie man die Dollars aus dem Ergebnis bekommt (Bezugsfestsetzung), also, dass dann in der Zeile beispielsweise nicht steht: =$C$4060, sondern =C4060?
Danke
Spog
Antwort 3 von JoeKe
Hallo Spog,
versuch es mal nach diesem Beispiel:
Sub zeile()
Dim loZeile As Long
loZeile = ActiveCell.Row
ActiveCell = "=C" & loZeile
End Sub
Gruß
JöKe
versuch es mal nach diesem Beispiel:
Sub zeile()
Dim loZeile As Long
loZeile = ActiveCell.Row
ActiveCell = "=C" & loZeile
End Sub
Gruß
JöKe
Antwort 4 von M.O.
Hallo Spog,
vollständigkeitshalber hier noch die Formula-Lösung ohne feste Bezüge:
ActiveCell.FormulaR1C1 = "=R[" & Zeile & "]C[3]"
Gruß
M.O.
vollständigkeitshalber hier noch die Formula-Lösung ohne feste Bezüge:
ActiveCell.FormulaR1C1 = "=R[" & Zeile & "]C[3]"
Gruß
M.O.

