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
 

Some videos you may like

Excel Facts

Convert text numbers to real numbers
Select a column containing text numbers. Press Alt+D E F to quickly convert text to numbers. Faster than "Convert to Number"

Yongle

Well-known Member
Joined
Mar 11, 2015
Messages
5,254
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
5,254
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
5,254
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,089,395
Messages
5,408,003
Members
403,176
Latest member
mehtavish1

This Week's Hot Topics

  • help please
    SORRY NOT ANY GOOD AT EXCEL SO HELP WOULD BE MUCH APPRECIATED this formula is in a sheet called ignore...
  • two formulas needed
    Hello, I'll try my best to explain this: First formula needed in Sheet1 cell A2: If Sheet1 cell B2 = Sheet2 cell B2 then return a 1. If not then...
  • Dynamic Counts
    Good afternoon, we are tidying up some data & the data seems to be growing quicker than we are tidying it up! What we confirm (by reviewing it...
  • Help Excel formula eliminate duplicate values and keep only 2 identical rows.
    as picture below column A has a duplicate value. but the values are not the same as the rule. sometimes 4 rows, sometimes 10 rows or 7 or 9...
  • Macro Compile Error Sub or Function not defined
    Hello, I am trying to run macros from a validation list, all macros have been created and run perfectly on there own but I'm getting a compile...
  • Last row combined with Current Region VBA
    I'm generally happy finding the last row of data through something like Lastrow = Cells(Rows.Count, "D").End(xlUp) but I don't always receive data...
Top