Delete all defined named ranges from a selection

gaudrco

Board Regular
Joined
Aug 16, 2019
Messages
203
Is there a way to delete all named ranges from a selection? Here is the selection that I am trying to delete the named ranged from:
Code:
Range("CompOverviewTable[[#Headers],[Competitor_one]]").Select
    Range(Selection, Selection.End(xlToRight)).Offset(-1, 0).Select
 

Yongle

Well-known Member
Joined
Mar 11, 2015
Messages
4,261
Test in a copy of your workbook

Code:
Sub NamedRanges()
[COLOR=#006400]'variables used[/COLOR]
    Dim N As Name, Ws As Worksheet, Rng As Range, Msg As String, Refers As String
    
[COLOR=#006400]'your code to select[/COLOR]
    Range("CompOverviewTable[[#Headers],[Competitor_one]]").Select
    Range(Selection, Selection.End(xlToRight)).Offset(-1, 0).Select

[COLOR=#006400]'delete named ranges which intersect with selection[/COLOR]
    On Error Resume Next
    Set Ws = Selection.Parent
    For Each N In ThisWorkbook.Names
        Refers = N.RefersTo
        If Replace(Split(Refers, "!")(0), "=", "") = Ws.Name Then
            Set Rng = Ws.Range(Split(Refers, "!")(1))
            If Not Intersect(Rng, Selection) Is Nothing Then
                Msg = Msg & vbCr & N.Name & vbTab & Refers
                N.Delete
            End If
        End If
    Next
    If Not Msg = "" Then MsgBox Msg, vbOKCancel, "Deleted ...."
End Sub
 
Last edited:

gaudrco

Board Regular
Joined
Aug 16, 2019
Messages
203
Thank you Yongle,

The code ran without any errors but the named ranges did not get deleted
 

Yongle

Well-known Member
Joined
Mar 11, 2015
Messages
4,261
"The code does not work" is a very unhelpful comment on its own :)
- if you want help you need to tell me where it is failing

It works for me
- did you run it from the sheet containing the table?
 
Last edited:

gaudrco

Board Regular
Joined
Aug 16, 2019
Messages
203
Sorry about that.

Nothing much happens. I am running the code directly on the page at the moment but I would like it be able to run from a different sheet.

When I run the code, the desired selection is selected but the defined names remain undeleted.

I'm not sure if this makes a difference but the selection that I want all the defined names to delete from is not a table of itself. It is simply just a range of cells
 

gaudrco

Board Regular
Joined
Aug 16, 2019
Messages
203
Also,

I figured out my range only needs to be:
Code:
Range("3:3").Select
But I can adjust that in your code
 

gaudrco

Board Regular
Joined
Aug 16, 2019
Messages
203
"The code does not work" is a very unhelpful comment on its own :)
- if you want help you need to tell me where it is failing

It works for me
- did you run it from the sheet containing the table?
Am I supposed to run this code somewhere specific? Because I have it assigned to an ActiveX Command Button
 

Yongle

Well-known Member
Joined
Mar 11, 2015
Messages
4,261
Perhaps I misunderstood what you want the code to do ..

Your code below selects the ROW above CompOverviewTable starting in cell above header Competitor_one
Code:
    Range("CompOverviewTable[[#Headers],[Competitor_one]]").Select
    Range(Selection, Selection.End(xlToRight)).Offset(-1, 0).Select
What is in those cells
- is it the NAMES of named ranges that should be deleted ?
 
Last edited:

gaudrco

Board Regular
Joined
Aug 16, 2019
Messages
203
Perhaps I misunderstood what you want the code to do ..

What is in those cells
- is it the NAMES of named ranges that should be deleted ?
The actual value in those cells are blank, but those cells have a defined name (range) that I created using the Name Manager. I would like to delete all the defined names in that selection so that all the defined names for those cells go back to the original value

Example:
From "Competitor_one" to "E1";
From "Competitor_two" to "F2"

After the defined names are deleted, they should no longer show up in Name Manager
 
Last edited:

Forum statistics

Threads
1,078,240
Messages
5,339,031
Members
399,274
Latest member
WilliamWavehill

Some videos you may like

This Week's Hot Topics

Top