Я ищу, чтобы удалить все именованные диапазоны из файла Excel, кроме определенного списка именованных диапазонов (приблизительно 1000).По сути, если в файл копируются какие-либо вкладки, я хочу удалить все, что было скопировано за какое-то время, и сохранить только оригинальные именованные диапазоны.
Я попытался собрать код ниже, но яне достаточно продвинут в VBA, чтобы понять, где я иду не так.В настоящее время он выдает ошибку в строке rName.Delete, и я хотел бы как-то добавить массив для списка, чтобы он не удалялся вместо того, чтобы быть определенным в коде по отдельности.
Sub DeleteNamedRanges()
Application.Calculation = xlManual
Dim all_names, n
Dim rName As Name
For Each rName In ActiveWorkbook.Names
If rName.Name <> "NamedRange1" And rName.Name <> "NamedRange2"
Then
rName.Delete
End If
Next rName
End Sub