基本上我有一个比较两个值的公式(临时校准,上下文无关紧要)。它是5种不同机器上的类似信息,所以最初我在E23中有一个公式,只是说
=if(or(isblank(E21),isblank(E22),"",if(abs(E22-E21)>2,"FAIL","PASS"))
我会闪现填写第一栏,一切都很好。
我正在研究VB根据机器处理的数量来合并/取消合并格式单元格。我的问题是让公式填入新的未合并或重新合并的单元格中。
这是我到目前为止(r
只是一行,allcols
返回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
我希望填充E(r):I(r)
。
这就是我尝试过的。它给我一个1004对象定义的错误。我不确定如何进行故障排除。
答案 0 :(得分: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