Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1360to1364
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Teil der Formel durch Variable ersetzen VBA
07.05.2014 10: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?

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 11:01:59
Rudi
Hallo,
Schema:
Range("E2").FormulaR1C1 = "=RC[" & WertSpalteTime &"]*24"
Gruß
Rudi

AW: Teil der Formel durch Variable ersetzen VBA
07.05.2014 11: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

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

AW: Teil der Formel durch Variable ersetzen VBA
07.05.2014 11: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 11: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

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige