В макросе не выполняется команда закрытия файла:
d.Close savechanges:=True
Почему происходит ошибка?
Макрос
Sub Макрос()
Dim path As String, Shab As String, ds As String
Dim wb As Workbook, d As Worksheet
path = Excel.ActiveWorkbook.path
Shab = path & "\3.xlsm"
ds = path & "\4.xlsm"
Set wb = Excel.Workbooks.Open(FileName:=Shab)
Set d = wb.Worksheets("d")
d.SaveAs ds
d.Close savechanges:=True
End Sub
Переменная "d" - это лист. У листа нет метода "Close".
Вам надо закрыть файл, поэтому используйте переменную "wb".