由于某些原因,我在此宏中替换函数不会如果我将YTD和YTG的值更改为“,9”和“,12”,宏将获得'工作。这是我的。查找并替换命名范围
Sub Rename()
Dim YTG As String
Dim YTD As String
Dim Shiftold As String
Dim Shitnew As String
i = 1
YTG = "<>YTG"
YTD = "YTD"
Shiftold = "0,0,1"
ShiftNew = "0,12,1"
For Each Name In ActiveWorkbook.Names
If InStr(1, Names(i).RefersTo, YTG) > 0 Then
Names(i).RefersTo = Replace(Names(i).RefersTo, YTG, YTD)
End If
If InStr(1, Names(i).RefersTo, Shiftold) > 0 Then
Names(i).RefersTo = Replace(Names(i).RefersTo, Shiftold, ShiftNew)
End If
i = i + 1
Next Name
End Sub
有关宏为什么不工作的任何想法?
也许有人删除了你命名的范围 – jsotola
你正在声明一个循环变量'Name',但它永远不会被使用。 ....你确定你的循环是正确构建的? – jsotola
“名称(i)”是什么?你还没有声明'名称'。 – jsotola