ich habe mit dem Makrorecorder folgenden Code aufgezeichnet um eine Formel in eine Zelle zu schreiben.
Range("G11").FormulaR1C1 = _
"=IF((IF(ISERROR(MATCH(R6C7&"".""&R17C3,KunMat,0)>=0),"""",IF(MATCH(R6C7&"".""&R17C3,KunMat,0)>=0,IF(VLOOKUP(R6C7&"".""&R17C3,VsArt,2,)=0,"""",VLOOKUP(R6C7&"".""&R17C3,VsArt,2,)))))=""luft"",""x"","""")"
~f~
Das funktioniert auch problemlos. Jetzt musste ich aber die Formel um eine "Oder"-Abfrage erweitern. Im Excel funktioniert es auch problemlos. Nur beim Schreiben der Formel mit VBA gibt es jetzt einen Laufzeitfehler. Liegt das jetzt daran, daß die Formel zu lang ist? Muß ich im VBA-Code vielleicht einen Zeilenumbruch einbauen? Wenn ja, wie müßte dann die Formel aussehen?
~f~
Range("G11").FormulaR1C1 = _
"=IF(or((IF(ISERROR(MATCH(R6C7&"".""&R17C3,KunMat,0)>=0),"""",IF(MATCH(R6C7&"".""&R17C3,KunMat,0)>=0,IF(VLOOKUP(R6C7&"".""&R17C3,VsArt,2,)=0,"""",VLOOKUP(R6C7&"".""&R17C3,VsArt,2,)))))=""luft"",(IF(ISERROR(MATCH(R6C7&"".""&R17C3,KunMat,0)>=0),"""",IF(MATCH(R6C7&"".""&R17C3,KunMat,0)>=0,IF(VLOOKUP(R6C7&"".""&R17C3,VsArt,2,)=0,"""",VLOOKUP(R6C7&"".""&R17C3,VsArt,2,)))))=""lkw""),""x"",""""))"
Vielen Dank für Eure Hilfe.
Gruß,
Jakob