Может уже было, но поиском не нашёл. Пытаюсь написать макрос копирования всех именованных диапазонов и именованных формул из открываемого файла в текущий (открытый).
Но что-то моих знаний не хватает.
Привожу текст макроса и файл с ним во вложении.
Sub CopyName()
Application.ScreenUpdating = False
Application.EnableEvents = False
Set ThisBook = ActiveSheet
filetoopen = Application.GetOpenFilename("Файлы Microsoft Office Excel, *.xls")
If filetoopen = False Then
End
End If
Set OpenFile = Workbooks.Open(filetoopen)
ThisBook.Unprotect Password:="123"
ThisBook.Activate
Dim iName As Name
For Each iName In OpenFile.Names
ThisBook.Names.Add iName.Name, iName.RefersTo
Next iName
ThisBook.Protect Password:="123", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True
OpenFile.Close SaveChanges:=False
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Но что-то моих знаний не хватает.
Привожу текст макроса и файл с ним во вложении.
Sub CopyName()
Application.ScreenUpdating = False
Application.EnableEvents = False
Set ThisBook = ActiveSheet
filetoopen = Application.GetOpenFilename("Файлы Microsoft Office Excel, *.xls")
If filetoopen = False Then
End
End If
Set OpenFile = Workbooks.Open(filetoopen)
ThisBook.Unprotect Password:="123"
ThisBook.Activate
Dim iName As Name
For Each iName In OpenFile.Names
ThisBook.Names.Add iName.Name, iName.RefersTo
Next iName
ThisBook.Protect Password:="123", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True
OpenFile.Close SaveChanges:=False
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub