J'ai la ligne de code suivante dans VBA:
Range("A40:A64").Formula = "=IF(index(optional_processes,row()-39)=0;"";optional_processes,row()-39))"
Sans l' if-statement
, certaines cellules affichent 0
. Je veux que ces 0
soient en blanc. C'est ce que l' if-statement
devrait faire. Je pense que cela donne l'erreur de l'application ou de l'object en raison des guillemets doubles dans la déclaration. Comment puis-je get des cellules vierges au lieu de 0
?
Même si vous utilisez Excel local ;
(point virgule) comme séparateur de parameters dans les formules, lors de l'écriture d'une formule avec VBA, vous devez utiliser (virgule)
À côté de cela, il existe d'autres problèmes avec la formule:
index
à l' else
""""
plutôt que ""
comme le suggère Kresimir ISERROR
comme Kiran écrit dans sa première suggestion Je pense que cela fonctionnera:
Range("A40:A64").Formula = "=IF(isError(index(optional_processes,row()-39)),"""",index(optional_processes,row()-39))"
Essaye ça:
Range("A40:A64").Formula = "=IF(ISERROR(index(optional_processes,row()-39)),'',index(optional_processes,row()-39))"
OU
Range("A40:A64").Formula = "=IF(index(optional_processes,row()-39)=0,"""",index(optional_processes,row()-39))"