如果我希望这个代码循环(就像它一样),直到没有更多要计算但总是有一个不能继续的静态值(C1),C2,C3等等,而不在公式中添加值, 可能吗?检查我的代码和我的解释。
Thisworkbook.Sheets(1).Range("A1") = "=--(B1 >= C1) * --(B1 <= C2)"
这个循环直到不能再计算出来,所以下一行看起来像这样
Thisworkbook.Sheets(1).Range("A2") = "=--(B2 >= C2) * --(B2 <= C3)"
我希望第二行是
Thisworkbook.Sheets(1).Range("A2") = "=--(B2 >= C1) * --(B2 <= C2)"
等等,所以C1和C2根本不应该改变,我可以这样做吗?
答案 0 :(得分:0)
要使用公式填充范围,您可以尝试以下任一方法:
Sheet1.Range("A1:A2").Formula = "=(B$1:B$2 >= C$1) * (B$1:B$2 <= C$2)"
Sheet1.Range("A1:A2").FormulaR1C1 = "= (RC[1] >= R1C[2]) * (RC[1] <= R2C[2])"
第一个使用隐式交集和第二个R1C1引用。 R1C1引用通常更易于维护,并且使用较小的范围来计算依赖性。
如果您只想要值,可以尝试:
Sheet1.[A1:A2] = Sheet1.[(B1:B2 >= C1) * (B1:B2 <= C2)]
注意:Sheet1
用于简洁,代替ThisWorkbook.Sheets(1)
作为工作表的默认代号。