我知道我可以用以下行减去整行:
ActiveWorkbook.Sheets(1).Range("A20:G20") = ActiveWorkbook.Sheets(1).Evaluate("A2:G2-A10:G10")
但是,我在几列中都有字符串。我尝试隐藏这些列,但这不会使Excel跳过它们。从理论上讲,我可以删除它们,然后再重新插入它们,但是如果可能的话,我想避免一个介于两个步骤之间的解决方案。
我正在使用两个工作簿,大约2500行和20列。
答案 0 :(得分:2)
如果您的减法结果返回=IFERROR
,然后用#VALUE!
进行测试,在这种情况下,返回原始值:
.Evaluate("=IFERROR(A2:G2-A10:G10,A2:G2)")
如果减法错误,它将返回A2:G2中的值。
或者,您也可以检查数字:
.Evaluate("=IF(ISNUMBER(A2:G2),A2:G2-A10:G10,A2:G2)")
答案 1 :(得分:0)
您还可以使用如下代码:
[1,1,1,1]