复杂的字符串替换

时间:2015-06-17 20:17:08

标签: excel vba excel-vba

我有一些数据每周被提取并且看起来很糟糕,所以我有一个格式表,可以将数据放在一个更友好的格式中,并且可读。

不幸的是,管理层决定在原始数据中添加一个列,该列将所有单元格引用抛出1列。这是我目前在单元格中的代码:

=IF(([SPREADSHEETREF.xlsx]Raw1!AD3)=0,"-",([SPREADSHEETREF.xlsx]Raw1!AD3))

我需要"添加"当前参考文献的一列。因此,在上面的示例中,它会将AD3替换为AE3

我在考虑使用WorksheetFunction.Replace( old_text, start, number_of_chars, new_text ),但我不确定它会在这种情况下有效。

我似乎无法弄清楚如何使new_text某种类型的值添加,以便它像OldValue + 1 = AE一样。被引用的列遍布各处,因此我需要像使用+1公式一样灵活地执行此操作。

1 个答案:

答案 0 :(得分:0)

以下功能将AD1切换到AE1:

Function ShiftAddress(CellAddress As String, Optional shift As Long = 1) As String
    Dim R As Range
    Set R = Range(CellAddress)
    ShiftAddress = R.Offset(0, shift).Address(False, False)
End Function

ShiftAddress(“AD1”)返回“AE1”。 ShiftAddress(“AD1”,2)返回“AF1”等