何らかの理由で、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