Сохранение листа в отдельный файл
AVI
Дата: Понедельник, 17.09.2018, 17:46 |
Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация:
17
±
Замечаний:
0% ±
Excel 2016
Написал кодик [vba]Код
Sub еееее() Name = "111" iPath = "C:\Users\Администратор\Desktop\Справки" Application.ScreenUpdating = False Application.DisplayAlerts = False List = ActiveSheet.Name Sheets(List).Copy Sheets(List).UsedRange.Value = Sheets(List).UsedRange.Value Sheets(List).Buttons.Delete Sheets(List).DrawingObjects.Delete ActiveWorkbook.SaveAs iPath & Name ActiveWorkbook.Close False Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
[/vba] Мне нужно, что бы код фоном сохранял активный лист в отдельный файл, называя его "Name" с удалением всех картинок, кнопок и макросов с листа, с принудительной заменой файла с таким же названием Получается все кроме того, что ни как не сохраняться в папку "C:\Users\Администратор\Desktop\Справки" Где я накосячил?
Написал кодик [vba]Код
Sub еееее() Name = "111" iPath = "C:\Users\Администратор\Desktop\Справки" Application.ScreenUpdating = False Application.DisplayAlerts = False List = ActiveSheet.Name Sheets(List).Copy Sheets(List).UsedRange.Value = Sheets(List).UsedRange.Value Sheets(List).Buttons.Delete Sheets(List).DrawingObjects.Delete ActiveWorkbook.SaveAs iPath & Name ActiveWorkbook.Close False Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
[/vba] Мне нужно, что бы код фоном сохранял активный лист в отдельный файл, называя его "Name" с удалением всех картинок, кнопок и макросов с листа, с принудительной заменой файла с таким же названием Получается все кроме того, что ни как не сохраняться в папку "C:\Users\Администратор\Desktop\Справки" Где я накосячил? AVI
Ответить
Сообщение Написал кодик [vba]Код
Sub еееее() Name = "111" iPath = "C:\Users\Администратор\Desktop\Справки" Application.ScreenUpdating = False Application.DisplayAlerts = False List = ActiveSheet.Name Sheets(List).Copy Sheets(List).UsedRange.Value = Sheets(List).UsedRange.Value Sheets(List).Buttons.Delete Sheets(List).DrawingObjects.Delete ActiveWorkbook.SaveAs iPath & Name ActiveWorkbook.Close False Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
[/vba] Мне нужно, что бы код фоном сохранял активный лист в отдельный файл, называя его "Name" с удалением всех картинок, кнопок и макросов с листа, с принудительной заменой файла с таким же названием Получается все кроме того, что ни как не сохраняться в папку "C:\Users\Администратор\Desktop\Справки" Где я накосячил? Автор - AVI Дата добавления - 17.09.2018 в 17:46
StoTisteg
Дата: Понедельник, 17.09.2018, 17:55 |
Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
Подробно не смотрел, но называть переменные List и Name — плохая идея.
Подробно не смотрел, но называть переменные List и Name — плохая идея. StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Сообщение отредактировал StoTisteg - Понедельник, 17.09.2018, 17:56
Ответить
Сообщение Подробно не смотрел, но называть переменные List и Name — плохая идея. Автор - StoTisteg Дата добавления - 17.09.2018 в 17:55
AVI
Дата: Понедельник, 17.09.2018, 18:05 |
Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация:
17
±
Замечаний:
0% ±
Excel 2016
StoTisteg , первое что в голову пришло. Назвать можно и иначе, но почему он не сохраняет в нужную папку?
StoTisteg , первое что в голову пришло. Назвать можно и иначе, но почему он не сохраняет в нужную папку?AVI
Сообщение отредактировал AVI - Понедельник, 17.09.2018, 18:11
Ответить
Сообщение StoTisteg , первое что в голову пришло. Назвать можно и иначе, но почему он не сохраняет в нужную папку?Автор - AVI Дата добавления - 17.09.2018 в 18:05
Pelena
Дата: Понедельник, 17.09.2018, 18:13 |
Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация:
4660
±
Замечаний:
±
Excel 365 & Mac Excel
В конце iPath должен быть ещё слэш \А переменная Name где определяется? Помимо имени в Name должно быть расширение
В конце iPath должен быть ещё слэш \А переменная Name где определяется? Помимо имени в Name должно быть расширение Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение В конце iPath должен быть ещё слэш \А переменная Name где определяется? Помимо имени в Name должно быть расширение Автор - Pelena Дата добавления - 17.09.2018 в 18:13
StoTisteg
Дата: Понедельник, 17.09.2018, 18:21 |
Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация:
103
±
Замечаний:
0% ±
Excel 2010
[vba]Код
Sub еееее() Dim sh As Worksheet Dim nm As String, iPath As String nm = "111" iPath = "C:\Users\Администратор\Desktop\Справки" Application.ScreenUpdating = False Application.DisplayAlerts = False Workbooks.Add Err.Clear Do While Err.Number = 0 Worksheets(1).Delete Loop sh.Cells.Copy Destination:=Cells With ActiveSheet .Name = sh.Name .Buttons.Delete .DrawingObjects.Delete End With ActiveWorkbook.SaveAs iPath & "\" & nm & ".xlsx" Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
[/vba]
[vba]Код
Sub еееее() Dim sh As Worksheet Dim nm As String, iPath As String nm = "111" iPath = "C:\Users\Администратор\Desktop\Справки" Application.ScreenUpdating = False Application.DisplayAlerts = False Workbooks.Add Err.Clear Do While Err.Number = 0 Worksheets(1).Delete Loop sh.Cells.Copy Destination:=Cells With ActiveSheet .Name = sh.Name .Buttons.Delete .DrawingObjects.Delete End With ActiveWorkbook.SaveAs iPath & "\" & nm & ".xlsx" Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
[/vba] StoTisteg
Интуитивно понятный код - это когда интуитивно понятно, что это код.
Сообщение отредактировал StoTisteg - Понедельник, 17.09.2018, 18:23
Ответить
Сообщение [vba]Код
Sub еееее() Dim sh As Worksheet Dim nm As String, iPath As String nm = "111" iPath = "C:\Users\Администратор\Desktop\Справки" Application.ScreenUpdating = False Application.DisplayAlerts = False Workbooks.Add Err.Clear Do While Err.Number = 0 Worksheets(1).Delete Loop sh.Cells.Copy Destination:=Cells With ActiveSheet .Name = sh.Name .Buttons.Delete .DrawingObjects.Delete End With ActiveWorkbook.SaveAs iPath & "\" & nm & ".xlsx" Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
[/vba] Автор - StoTisteg Дата добавления - 17.09.2018 в 18:21
AVI
Дата: Понедельник, 17.09.2018, 18:22 |
Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация:
17
±
Замечаний:
0% ±
Excel 2016
Заработало!! Спасибо! [vba]Код
Sub ååååå() Name = "111" iPath = "C:\Users\Àäìèíèñòðàòîð\Desktop\Ñïðàâêè\" Application.ScreenUpdating = False Application.DisplayAlerts = False List = ActiveSheet.Name Sheets(List).Copy Sheets(List).UsedRange.Value = Sheets(List).UsedRange.Value Sheets(List).Buttons.Delete Sheets(List).DrawingObjects.Delete ActiveWorkbook.SaveAs iPath & Name & ".xlsx" ActiveWorkbook.Close False Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
[/vba]
Заработало!! Спасибо! [vba]Код
Sub ååååå() Name = "111" iPath = "C:\Users\Àäìèíèñòðàòîð\Desktop\Ñïðàâêè\" Application.ScreenUpdating = False Application.DisplayAlerts = False List = ActiveSheet.Name Sheets(List).Copy Sheets(List).UsedRange.Value = Sheets(List).UsedRange.Value Sheets(List).Buttons.Delete Sheets(List).DrawingObjects.Delete ActiveWorkbook.SaveAs iPath & Name & ".xlsx" ActiveWorkbook.Close False Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
[/vba] AVI
Ответить
Сообщение Заработало!! Спасибо! [vba]Код
Sub ååååå() Name = "111" iPath = "C:\Users\Àäìèíèñòðàòîð\Desktop\Ñïðàâêè\" Application.ScreenUpdating = False Application.DisplayAlerts = False List = ActiveSheet.Name Sheets(List).Copy Sheets(List).UsedRange.Value = Sheets(List).UsedRange.Value Sheets(List).Buttons.Delete Sheets(List).DrawingObjects.Delete ActiveWorkbook.SaveAs iPath & Name & ".xlsx" ActiveWorkbook.Close False Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
[/vba] Автор - AVI Дата добавления - 17.09.2018 в 18:22
_Boroda_
Дата: Понедельник, 17.09.2018, 19:23 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 17006
Репутация:
6667
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Так у Вас этот файл всегда будет накладываться на предыдущую версию. Возможно, что Вам так и нужно. На всякий случай вариант с датой-временем [vba]Код
Sub aaaaa() Name_ = "111" & Format(Now, " от YYYY_MM_DD hh_mm_ss") iPath = "C:\Users\Администратор\Desktop\Справки\" Application.ScreenUpdating = False Application.DisplayAlerts = False ActiveSheet.Copy With ActiveSheet .UsedRange.Value = .UsedRange.Value .Buttons.Delete .DrawingObjects.Delete End With ActiveWorkbook.SaveAs iPath & Name_ & ".xlsx" ActiveWorkbook.Close False Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
[/vba] Да, и называть переменную name - не очень хорошая идея. В VBA уже есть такое зарезервированное слово
Так у Вас этот файл всегда будет накладываться на предыдущую версию. Возможно, что Вам так и нужно. На всякий случай вариант с датой-временем [vba]Код
Sub aaaaa() Name_ = "111" & Format(Now, " от YYYY_MM_DD hh_mm_ss") iPath = "C:\Users\Администратор\Desktop\Справки\" Application.ScreenUpdating = False Application.DisplayAlerts = False ActiveSheet.Copy With ActiveSheet .UsedRange.Value = .UsedRange.Value .Buttons.Delete .DrawingObjects.Delete End With ActiveWorkbook.SaveAs iPath & Name_ & ".xlsx" ActiveWorkbook.Close False Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
[/vba] Да, и называть переменную name - не очень хорошая идея. В VBA уже есть такое зарезервированное слово _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Так у Вас этот файл всегда будет накладываться на предыдущую версию. Возможно, что Вам так и нужно. На всякий случай вариант с датой-временем [vba]Код
Sub aaaaa() Name_ = "111" & Format(Now, " от YYYY_MM_DD hh_mm_ss") iPath = "C:\Users\Администратор\Desktop\Справки\" Application.ScreenUpdating = False Application.DisplayAlerts = False ActiveSheet.Copy With ActiveSheet .UsedRange.Value = .UsedRange.Value .Buttons.Delete .DrawingObjects.Delete End With ActiveWorkbook.SaveAs iPath & Name_ & ".xlsx" ActiveWorkbook.Close False Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub
[/vba] Да, и называть переменную name - не очень хорошая идея. В VBA уже есть такое зарезервированное слово Автор - _Boroda_ Дата добавления - 17.09.2018 в 19:23