Vba 复杂字符串替换
我有一些数据每周都会被提取出来,看起来很糟糕,所以我有一个格式表,可以将数据放在一个更友好、可读的格式中 不幸的是,管理层决定在原始数据中添加一列,这会将我的所有单元格引用抛出一列。这是我在单元格中的当前代码:Vba 复杂字符串替换,vba,excel,Vba,Excel,我有一些数据每周都会被提取出来,看起来很糟糕,所以我有一个格式表,可以将数据放在一个更友好、可读的格式中 不幸的是,管理层决定在原始数据中添加一列,这会将我的所有单元格引用抛出一列。这是我在单元格中的当前代码: =IF(([SPREADSHEETREF.xlsx]Raw1!AD3)=0,"-",([SPREADSHEETREF.xlsx]Raw1!AD3)) 我需要在当前引用中“添加”一列。因此,在上面的示例中,它将用AE3替换AD3 我正在考虑使用工作表function.Replace(旧文
=IF(([SPREADSHEETREF.xlsx]Raw1!AD3)=0,"-",([SPREADSHEETREF.xlsx]Raw1!AD3))
我需要在当前引用中“添加”一列。因此,在上面的示例中,它将用AE3
替换AD3
我正在考虑使用工作表function.Replace(旧文本、开始、字符数、新文本)
,但我不确定它在这种情况下是否有效
我似乎不知道如何使
new_text
成为某种类型的增值,就像OldValue+1=AE
。被引用的列到处都是,因此我需要灵活地使用+1公式来实现这一点。以下函数将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
shiftadress(“AD1”)返回“AE1”。shiftadress(“AD1”,2)返回“AF1”,等等。打开源和“格式化”工作簿后,在源工作表中插入一列。你的格式公式应该相应地调整。天哪。我不敢相信事情竟如此简单。诅咒你出类拔萃。