VBA - 将R1C1公式中的列从偏移量1更改为偏移量2

时间:2013-07-03 19:20:16

标签: excel vba excel-vba

很难解释我在寻找什么,但我会尝试......

我正在创建一个报表,该报表使用模板表中的公式,使用R1C1公式在另一个工作表上生成报表。例如,第2列第1行等于第1列第1行第2列。模板页面上的公式为“= RC [-1] * 2”。问题是,在实际报告所在的页面上,每列数字之间都有一个空白列。因此,当我从模板表复制公式时,R1C1列偏移需要加倍,或“= RC [-2] * 2”。

如何处理字符串以使列偏移加倍。我知道我可以分解字符串并隔离数字部分,但我认为有更好的方法。

感谢。

1 个答案:

答案 0 :(得分:0)

我想我必须这样做:

If InStr(a, "C[") Then
    a = Left(a, InStr(a, "C[") + 1) & (Mid(a, InStr(a, "C[") + 2, Len(a) - InStr(a, "C[") - 2) * 2) & "]"
ElseIf IsNumeric(Right(a, 1)) Then
    a = Left(a, InStr(a, "C")) & (Right(a, Len(a) - InStr(a, "C")) * 2)
End If