Страницы: Пред. 1 2
RSS
Ссылка в макросе на другой лист из текущей книги
 
Дмитрий(The_Prist) Щербаков, все, это то, что и нужно было
"& ThisWorkbook.Worksheets("Лист1").Range("B10").Value &"

как написано - ссылка на другой лист - так и сделали, наконец-то, без всяких FileFormat и прочей шляпы...

Спасибо вам огромное!
 
я бы ещё добавил проверку, что ячейка В10 не пуста на Лист1

Код
Sub Сохранить_лист()
    Dim path As String, iLinks As Variant, I As Long
    Dim vopros As VbMsgBoxResult
    Dim sFilename As String
 
    vopros = MsgBox("Сохранить форму?", vbYesNo + vbQuestion, "Сохранение")
    If vopros = vbNo Then Exit Sub
    
    Application.ScreenUpdating = False
    
    path = ThisWorkbook.path
    If IsEmpty(ThisWorkbook.Worksheets("Лист1").Range("B10")) Then
        MsgBox "Не указано имя листа в ячейке B10 на Лист1", vbExclamation, "Внимание"
        Exit Sub
    End If
    sFilename = ThisWorkbook.Worksheets("Лист1").Range("B10").Value
    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
        
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs path & Application.PathSeparator & ActiveSheet.Name & " " & sFilename & ".xlsx", FileFormat:=xlOpenXMLWorkbook
    Application.DisplayAlerts = True
    
    ActiveWorkbook.Close (False)
    
    Application.ScreenUpdating = True
    MsgBox "Форма сохранена в текущую папку.", vbInformation, "Сообщение:"
End Sub
 
New, спасибо. буду изучать
 
Цитата
HYPNO написал:
наконец-то, без всяких FileFormat и прочей шляпы
то, что Вы так опрометчиво называте шляпой - пример хорошего программирования. И если не указывать формат - то можете как раз-таки шляпу получить в итоге. Но как уже писал - дело Ваше.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, Нельзя быть таким душным. Прочтите вашу цитату: "Даже самый простой вопрос можно превратить в огромную проблему" - это, походу, прям про вас...
Развернули на 2 листа обсуждения, а ответ на поверхности был.
И не нужно писать, что я не так изъяснил суть вопроса - изложил я все без излишеств.
В общем не обижайтесь, на правду не обижаются
 
Цитата
HYPNO написал:
развернули на 2 листа обсуждения,
охренеть не встать. Т.е. это я оказывается развернул? Вы ни сформулировать не можете, ни показать то, что просят - а виноват я? Ну ок. Думайте так дальше.
Но это не я приложил пример файла только в 16-ом сообщении, когда уже обсосали почти все, что можно было. И ни разу не написал что и где надо выполнить. Из нескольких участников обсуждения никто ни разу не понял почему и из-за чего конкретно ошибка. Логично, все это время проблема была именно во мне, а не в Вас.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, хорошо, что вы это поняли, хоть и с моей помощью  ;)  
 
Цитата
HYPNO написал:
хорошо, что вы это поняли
то, что Вы объяснять не умеете? Да почти сразу. Но главное, чтобы это понял не я, а Вы. Но Вы этого, увы, не понимаете и вряд ли поймете, судя по сообщениям. Вот яркий пример Вашего общения: Медленно работает макрос подбора и подстановки значений. Там тоже виноват был кто-то другой, но не Вы.
Удачи с таким подходом! Она Вам точно пригодится.
Изменено: Дмитрий(The_Prist) Щербаков - 22.11.2022 17:45:53
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: Пред. 1 2
Наверх