2017-10-12 3 views
-2

Essentiellement j'ai une formule pour comparer deux valeurs (étalonnage de la température, le contexte n'a vraiment pas d'importance). Il est des informations similaires sur 5 machines différentes, donc à l'origine j'avais une formule dans E23 qui vient de direentrer la formule relative dans une plage de cellules

=if(or(isblank(E21),isblank(E22),"",if(abs(E22-E21)>2,"FAIL","PASS")) 

que je flash Flash à la colonne I et tout allait bien.

Je travaille sur VB pour fusionner/annuler le fusionnement de cellules en fonction du nombre de machines traitées. Mon problème consiste à remplir la formule dans les cellules nouvellement fusionnées ou non réorganisées.

C'est ce que j'ai jusqu'à présent (r est juste une ligne, allcols retours 9):

For c = 0 To allcols - 5 
    Dim vcel As Range 
    Dim v1 As String 
    Dim v2 As String 
    Set vcel = xlrange(r, 5 + c) 
    v1 = vcel.Offset(-2, 0).Address 
    v2 = vcel.Offset(-1, 0).Address 

    vcel.Formula = "=if(OR(ISBLANK(" & v1 & "),ISBLANK(" & v2 & ")),"""",IF(ABS(" & v1 & "-" & v2 & ") > 2, ""FAIL"", ""PASS""))" 
Next c 

Je souhaite remplir E(r):I(r).

C'est ce que j'ai essayé. Il me jette une erreur 1004 objet défini. Je ne suis pas sûr de savoir comment poursuivre le dépannage.

+0

De quel type est-il VBA ou VBScript? ils sont différents. –

+0

Ma supposition est 'xlrange' devrait être' Cells' –

+1

Le code que vous avez posté est VBA, pas VBScript. Lequel des deux est-ce censé être? Aussi, s'il vous plaît montrer le message d'erreur exact. Ne paraphrase pas. –

Répondre

0
Dim s as string 
s= "=if(OR(ISBLANK(" & v1 & "),ISBLANK(" & v2 & "))," 
s = s & Chr$(34) & chr$(34) 
s = s & ",IF(ABS(" & v1 & "-" & v2 & ") > 2, " 
s = s & chr$(34) & "FAIL" & chr$(34) & ", " & chr$(34) 
s = s & "PASS" & chr$(34) & "))" 

vcel.Formula =s 
+0

a travaillé avec brio. Je ne connaissais pas le truc de chr (34) ... je savais que c'était le problème qui causait le problème mais je ne pouvais pas trouver un moyen de contourner ce problème ... vous êtes un génie –