Variable, String, If und Laufzeitfehler 1004
03.07.2018 10:02:55
Jens
ich habe folgendes Thema:
Ich habe eine große Tabelle mit zahlreichen Spalten, vereinfacht "A"-"E". Nun möchte ich eine Abfrage auf den Wert in Spalte "A" machen und dann einen Wert "X" in Spalte "F" setzen, sofern erfüllt. Wenn nicht, soll Wert "Y" gesetzt werden.
Die Werte "X" und "Y" möchte ich jedoch an einer zentralen Stelle pflegen.
Code:
Dim strX As String
Dim strY As String
strX = "='[Grundkosten.xlsm]Reiter_A'!R1C1"
strY = "='[Grundkosten.xlsm]Reiter_A'!R2C1"
Range("F2").Formula = _
"=IF(LEFT(RC[-5],5)=""049-9""," & strX & "," & strY & ")"
Problem:
ich erhalte einen Laufzeitfehler 1004.
Selbst wenn ich in der Grundkosten-Datei den Wert mit "0.1" und "0.3" einsetze (was ich nicht möchte) erhalte ich den Fehler.
Setze ich die Variablen manuell (strX = "0.1" / strY = "0.3") funktioniert es problemlos.
Ein Versuch, mit CStr den Wert zu einem String zu konvertieren bringt auch kein Erfolg. strX = CStr("='[Grundkosten.xlsm]Reiter_A'!R1C1")
Ich vermute, dass der Wert mit einem Komma gezogen wird und dann die anschließende Formel auf Fehler läuft.
Frage:
- (fürs Verständnis) wie kann ich bei meinem aktuellen Vorgehen den Fehler beheben / wo steckt er?
- wie sieht dann hier theoretisch eine "schöne" Lösung aus?
Vielen Dank für eure Hilfe!
Jens