> Errors told me I needed the Dim's... However.
>
> 1 - How does VBA know that "defined_name" contains the name? I don't
> see where it gets assigned [defined_name = ??]. Is it just because
> the "For Each" construct needs a place to hold the members of the
> collection "ThisWorkbook.Names", so it puts them there?
Yes, I think it goes something like that. You could:
Dim defined_name As Name
since you know they're going to be names.
>
> 2 - What is the purpose of the line:
> Workbooks(WBName).Save
> Works fine without it.
It does indeed.. no idea.
>
> 3 - With these two statements:
> Workbooks.Add
> WBName = ActiveWorkbook.Name
>
> I have Active workbook Object confusion.
> Why isn't the added workbook the active one - Is it because adding
> a workbook doesn't make it active?
It does. The line
WBName = ActiveWorkbook.Name
only assigns the name of the active workbook to the string WBName
(usually Book2.xls or some such), it does not activate anything.