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,660
Office Version
365
Platform
Windows
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,660
Office Version
365
Platform
Windows
"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,660
Office Version
365
Platform
Windows
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,081,943
Messages
5,362,268
Members
400,674
Latest member
Thumper007

Some videos you may like

This Week's Hot Topics

  • populate from drop list with multiple tables
    Hi All, i have a drop list that displays data, what i want is when i select one of those from the list to populate text from different tables on...
  • Find list of words from sheet2 in sheet1 before a comma and extract text vba
    Hi Friends, Trying to find the solution on my task. But did not find suitable one to the need. Here is my query and sample file with details...
  • Dynamic Formula entry - VBA code sought
    Hello, really hope one of you experts can help with this - i've spent hours on this and getting no-where. .I have a set of data (more rows than...
  • Listbox Header
    Have a named range called "AccidentsHeader" Within my code I have: [CODE]Private Sub CommandButton1_Click() ListBox1.RowSource =...
  • Complex Heat Map using conditional formatting
    Good day excel world. I have a concern. Below link have a list of countries that carries each country unique data. [URL...
  • Conditional formatting
    Hi good morning, hope you can help me please, I have cells P4:P54 and if this cell is equal to 1 then i want row O to say "Fully Utilised" and to...
Top