2017-12-14 1 views
3

Ich habe ein großes Problem mit VBA. Ich möchte diese Aussage schreiben:Excel If-Anweisung in VBA

bei VBA-Code. Aber dies:

Cells(y_2, 5) = "=IF(C" & y_2 & "<>0;(D" & y_2 & "/C" & y_2 & ");"" "")" 

enter image description here

nicht funktioniert und ich habe keine Ahnung, was falsch ist. y_2 wird als Integer deklariert.

Hilfe. Jemand.

+0

Setzen Sie alle Code und Formeln als Text nicht Bilder. –

+0

Wie Sie wünschen: = Wenn (C5 <> 0; (D5/C5); "") Zellen (y_2, 5) = "= IF (C" & y_2 & "<>0; (D "& y_2 &"/C " & y_2 & "); "" "") " – Arfi

+0

Nicht in den Kommentaren [bearbeiten] Sie den ursprünglichen Beitrag und legen Sie sie dort, damit sie formatiert werden können. –

Antwort

0

Wie über Ihren Code Wechsel von:

Cells(y_2,5) = "IF(C" & y_2 & "<>0;"(D" & y_2 & "/C" & y_2 & ");"" "")" 

Um dies:

Sheets("YourSheetName").Cells(y_2,5).FormulaR1C1 = "=IF(RC[-2]<>0;RC[-1]/RC[-2];"""")" 
'remember to change the name of your sheet above 
+0

Der gleiche Fehler. – Arfi

+0

Versuchen Sie, das ActiveSheet oder Ihre Tabellen (" YourSheetNameHere ") vor die Zellen, also zum Beispiel Sheets ("Sheet1"). Zellen (y_2,5) .Formular1C1 – Xabier

+0

Nein, das gleiche:/aber ohne Gleichheitszeichen funktioniert es 'Zellen (y_2, 5) =" IF (C "& y_2 & "<>0; (D "& y_2 &"/C "& y_2 & ");" "") "' – Arfi

1

Ändern Sie den ";" Zeichen zu "," Zeichen

Cells(y_2, 5) = "=IF(C" & y_2 & "<>0,(D" & y_2 & "/C" & y_2 & "),"" "")"