Цитата |
---|
HYPNO написал: именно поэтому и нужна ссылка для макроса на Лист1!!! |
и что? А я на какой лист ссылку поставил?
Вы бы вместо претензий написали что хотите в итоге получить и как что надо делать. Моя строка формирует ровно то, что Вы просили изначально:
Цитата |
---|
HYPNO написал: Вместо ячейки "B10" нужно указать "Лист1, ячейка B10" |
А то, что Вы ни разу не понимаете как и что работает - это другой вопрос. Я не просто так просил скрин - а что за активная книга у Вас на момент выполнения ошибочной строки? Посмотрели? Нашли в этой книге "Лист1"? И я думаю, что нет. Да и не хотели, т.к. искали причину только в том, что Вам тут советуют не то что-то. А чтобы посоветовать то, что надо - надо понимать от и до что делается и на какой результат рассчитываете. А Вы заладили "Лист1" - это и получили.
А раз уж такие претензии вместо того, чтобы подумать и сделать наконец то, что просят - вот так будет максимально корректно:
Код |
---|
Sub Сохранить_лист()
Application.ScreenUpdating = False
Dim path As String, iLinks As Variant, I As Long
vopros = MsgBox("Сохранить форму?", vbYesNo, "Сохранение")
If vopros = vbYes Then
path = ThisWorkbook.path
Dim sFName$
sFName = path & Application.PathSeparator & ActiveSheet.Name & " " & ActiveWorkbook.Worksheets("Лист1").Range("B10").Value & ".xlsx"
ActiveSheet.Copy
iLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(iLinks) Then
For I = 1 To UBound(iLinks)
ActiveWorkbook.BreakLink Name:=iLinks(I), Type:=xlExcelLinks
Next I
End If
If ActiveSheet.Shapes.Count > 0 Then ActiveSheet.Shapes(1).Delete 'удаляю кнопку СОХРАНЕНИЯ в новом файле!!!
ActiveWorkbook.SaveAs sFName, FileFormat:=xlOpenXMLWorkbook 'не работает
ActiveWorkbook.Close (False)
MsgBox "Форма сохранена в текущую папку.", vbInformation, "Сообщение:"
End If
End Sub |