Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Teil der Formel durch Variable ersetzen VBA

Forumthread: Teil der Formel durch Variable ersetzen VBA

Teil der Formel durch Variable ersetzen VBA
07.05.2014 12:57:50
Ines
Hallo,
ich habe folgendes Problem. Mit der Formel Range("E2").FormulaR1C1 = "=RC[-1]*24" wird in VBA der Wert der eine Spalte vorher steht mit 24 multipliziert. Diesen kann ich auch auf eine andere Zahl ändern, so ändert sich die Spalte. Nun möchte ich gerne das dieser Wert durch den Benutzer in eine Input Box vorgegeben wird. Ich habe es so versucht:
Dim WertSpalteTime As String
WertSpalteTime = InputBox("Bitte angeben, wieviel Spalten die Spalte Time von der zu berechneten Spalte entfernt ist.")
Range("E2").FormulaR1C1 = "=RC[WertSpalteTime]*24"
kann mir jemand helfen?

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teil der Formel durch Variable ersetzen VBA
07.05.2014 13:01:59
Rudi
Hallo,
Schema:
Range("E2").FormulaR1C1 = "=RC[" & WertSpalteTime &"]*24"
Gruß
Rudi

AW: Teil der Formel durch Variable ersetzen VBA
07.05.2014 13:04:12
EtoPHG
Hallo Ines,
besser wäre:
Range("E2").FormulaR1C1 = "=RC[" & WertSpalteTime & "]*24"

Frage: Ist die Spalte "Time" mit diesem Begriff in Zeile 1 betitelt? Wenn ja, könnte man die Spalte auch per VBA automatisch bestimmen.
Gruess Hansueli

Anzeige
AW: Teil der Formel durch Variable ersetzen VBA
07.05.2014 13:11:45
Ines
Super! Hat funktioniert! Vielen Dank.
Gruß Ines

AW: Teil der Formel durch Variable ersetzen VBA
07.05.2014 13:10:23
fcs
Hallo Ines,
so ginge es:
  Dim WertSpalteTime As String
WertSpalteTime = InputBox("Bitte angeben, wieviel Spalten die Spalte Time von der zu " _
& "berechnenden Spalte entfernt ist." & vbLf _
& "(nach links mit vorangestelltem Minuszeichen)", _
Title:="Spalte für Formel", _
Default:="-1")
If WertSpalteTime = "" Then
'Eingabe wurde abgebrochen
Exit Sub
End If
Range("E2").FormulaR1C1 = "=RC[" & WertSpalteTime & "]*24"
End Sub
Gruß
Franz

Anzeige
AW: Teil der Formel durch Variable ersetzen VBA
07.05.2014 13:11:25
Daniel
Hi
ich verwende die Replace-Funktion, um solche Variablenwerte in die Formel einzubauen.
damit bleibt die Formel übersichtlicher und einfacher zu pflegen, was insbesondere bei längeren Formeln vorteilhaft ist:
dim Fo as String
dim WertSpalteTime as String
Fo = "=RC[xxx]*24"
WertSpalteTime = Inputbox("...")
Fo = Replace(Fo, "xxx", WertSpalteTime)
Range("E2").FormulaR1C1 = Fo
Gruß Daniel
Anzeige

Forumthreads zu verwandten Themen

Anzeige