I couldn't run your code - I "Dim'ed" the others, but Interestingly
enough "defined_name" is an undefined label, and I didn't know how to
resolve this.
Daulton showes .Name.Name. ".Name.Name" references the Range Name
rather than the address.
Code from other ways I found to get the .Address and Range Name
also use .Name.Name.
Note: I have seen that when names are deleted, they may remain in this
list with a #REF for the .Address. Not sure what does garbage
collection on the list.
Debug.Print " App Name Count= "; Application.Names.Count
Debug.Print "*******************************"
Debug.Print " Show Application Named Ranges"
For izi = 1 To Application.Names.Count
Debug.Print " App Names = "; izi; ; Application.Names.Item(izi);
Chr(9); Chr(9); Application.Names.Item(izi).Name
Next izi
Debug.Print
' OR
Debug.Print " Wk Bk Name Count= "; ThisWorkbook.Names.Count
Debug.Print "*******************************"
Debug.Print " Show Workbook Named Ranges"
For izi = 1 To ThisWorkbook.Names.Count
Debug.Print " Wkbk Names = "; izi; ; ThisWorkbook.Names.Item(izi);
Chr(9); Chr(9); ThisWorkbook.Names.Item(izi).Name
Next izi
Debug.Print
'However, this last gives nothing. No errors, just Count = 0.
' It makes sense, but names don't 'reside' in the sheet in which they
reside. (;-)
Debug.Print " Sheet Name Count= "; sheet4.Names.Count
Debug.Print "*******************************"
Debug.Print " Show Sheet4 Named Ranges"
For izi = 1 To Sheet4.Names.Count
Debug.Print " Sheet Names = "; izi; ; Sheet4.Names.Item(izi); Chr(9);
Chr(9); Sheet4.Names.Item(izi).Name
Next izi
Debug.Print