ник: Анатолий (Киев)
Dim xlaProd As NEW Excel.Application 'без NEW может сработать, если есть открытый Excel
Dim xlwProd As Excel.Workbook, xlwProd1 As Excel.Workbook 'Зачем здесь xlwProd1?
Dim xlsProd As Excel.Worksheet, xlsProd1 As Excel.Worksheet
Set xlwProd = xlaProd.Workbooks.Open "c:\эталон.xls"
Set xlsProd = xlwProd.Worksheet(1)
Set xlsProd1 = Worksheets.Add(xlsProd)
xlsProd1.Name = "Лист1"
xlsProd.Cells.Copy xlsProd1.Cells
xlwProd.Close
xlaProd.Quit
...
Другой вариант (мне нравится больше):
Dim xlaProd As Excel.Application
Dim xlwProd As Excel.Workbook
Dim xlsProd As Excel.Worksheet, xlsProd1 As Excel.Worksheet
Set xlwProd = GetObject("c:\эталон.xls")
Set xlaProd xlwProd.Application
Set xlsProd = xlwProd.Worksheet("Имя листа")
...
xlwProd.Close
If xlaProd.Workbooks.Count = 0 Then xlaProd.Quit 'Если Excel не был открыт ранее - закрывается.
...
Ыуе
Dim wsh1 As Worksheet, wsh2 As Worksheet
Set wsh1 = Worksheets("Sheet4")
Set wsh2 = Worksheets.Add(wsh1)
wsh2.Name = "Лист1"
wsh1.Cells.Copy wsh2.Cells
wsh2.Activate