Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сохранение Листа без макросов и формул - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение Листа без макросов и формул (Макросы/Sub)
Сохранение Листа без макросов и формул
ekut Дата: Среда, 08.12.2021, 15:35 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте! Если не трудно, посмотрите, где моя ошибка!? При воспроизведении макроса, нужно, чтобы сохранился просто первый лист под названием Перечень ТМЦ без макросов, формул и выпадающего списка и остался в той же папке ( не создавая новую), где и оригинал. Но у оригинала при сохранении пропадает выпадающий список? Благодарю заранее
К сообщению приложен файл: _-.xlsm(448.0 Kb)
 
Ответить
СообщениеЗдравствуйте! Если не трудно, посмотрите, где моя ошибка!? При воспроизведении макроса, нужно, чтобы сохранился просто первый лист под названием Перечень ТМЦ без макросов, формул и выпадающего списка и остался в той же папке ( не создавая новую), где и оригинал. Но у оригинала при сохранении пропадает выпадающий список? Благодарю заранее

Автор - ekut
Дата добавления - 08.12.2021 в 15:35
MikeVol Дата: Среда, 08.12.2021, 17:20 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 163
Репутация: 16 ±
Замечаний: 0% ±

Excel 2019
ekut, Доброго времени суток.
при сохранении пропадает выпадающий список?
Потому что вы сами сказали коду это сделать в строке:
[vba]
Код
.Cells.Validation.Delete
[/vba]
Закомментируйте её или вовсе удалите.

А так у вас всё ровно. Только я добавил в эту строчку:
[vba]
Код
ActiveWorkbook.SaveAs iPath & Wsh.Name & ".xlsx", xlOpenXMLWorkbook    'в подпапку Перечень списания ТМЦ
[/vba]


Ученик - Наблюдатель. Учиться Никогда не поздно.

Сообщение отредактировал MikeVol - Среда, 08.12.2021, 17:24
 
Ответить
Сообщениеekut, Доброго времени суток.
при сохранении пропадает выпадающий список?
Потому что вы сами сказали коду это сделать в строке:
[vba]
Код
.Cells.Validation.Delete
[/vba]
Закомментируйте её или вовсе удалите.

А так у вас всё ровно. Только я добавил в эту строчку:
[vba]
Код
ActiveWorkbook.SaveAs iPath & Wsh.Name & ".xlsx", xlOpenXMLWorkbook    'в подпапку Перечень списания ТМЦ
[/vba]

Автор - MikeVol
Дата добавления - 08.12.2021 в 17:20
ekut Дата: Четверг, 09.12.2021, 08:51 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте, спасибо большое! Но, сохранение происходит как Книга 1 и путь я указываю сама, рученьками, а мне бы :angel: автоматически сохранение только первого листа с названием и туда, где лежит оригинал. Простите!!!!!!!! Но так хочется!
 
Ответить
СообщениеЗдравствуйте, спасибо большое! Но, сохранение происходит как Книга 1 и путь я указываю сама, рученьками, а мне бы :angel: автоматически сохранение только первого листа с названием и туда, где лежит оригинал. Простите!!!!!!!! Но так хочется!

Автор - ekut
Дата добавления - 09.12.2021 в 08:51
MikeVol Дата: Четверг, 09.12.2021, 10:18 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 163
Репутация: 16 ±
Замечаний: 0% ±

Excel 2019
ekut, Доброго Времени суток. Не знаю как вы
и путь я указываю сама, рученьками
Он всё делал сам без вашего участия, запустили и получили конечные два файла в подпапку.
Чуть переделал ваш код с выводом сообщения что и как.
[vba]
Код
Sub SaveList()
    ' Объявление переменных
    Dim Wsh         As Worksheet
    Dim iPath       As String

    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
        .Calculation = xlCalculationManual
    End With

    ' Задаём каталог сохранения файла (в данном случае текущий каталог)
    iPath = ThisWorkbook.Path & "\"                           '

    For Each Wsh In Worksheets                    ' цикл по листам

        If Wsh.Name = "Перечень ТМЦ уч. св.№5" Then
            Wsh.Copy                    ' выбираем только лист Перечень ТМЦ уч. св.№5
            ActiveWorkbook.SaveAs iPath & Wsh.Name & ".xlsx", xlOpenXMLWorkbook        ' Формируем итоговый путь и название файла Перечень ТМЦ уч. св.№5
            ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value                  ' сохранить как значения
            ActiveWorkbook.Close SaveChanges:=True
            
            ' Сообщение с результатом выполнения процедуры
            MsgBox "Файл успешно сохранен с названием -  " & Wsh.Name & vbNewLine & "Файл вы найдёте в -  " & iPath, vbInformation, "Результат"
        End If

    Next

    With Application
        .Calculation = xlCalculationAutomatic
        .DisplayAlerts = True
        .ScreenUpdating = True
    End With

End Sub
[/vba]
К сообщению приложен файл: 7586872.png(55.5 Kb) · 6427543.png(24.1 Kb)


Ученик - Наблюдатель. Учиться Никогда не поздно.
 
Ответить
Сообщениеekut, Доброго Времени суток. Не знаю как вы
и путь я указываю сама, рученьками
Он всё делал сам без вашего участия, запустили и получили конечные два файла в подпапку.
Чуть переделал ваш код с выводом сообщения что и как.
[vba]
Код
Sub SaveList()
    ' Объявление переменных
    Dim Wsh         As Worksheet
    Dim iPath       As String

    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
        .Calculation = xlCalculationManual
    End With

    ' Задаём каталог сохранения файла (в данном случае текущий каталог)
    iPath = ThisWorkbook.Path & "\"                           '

    For Each Wsh In Worksheets                    ' цикл по листам

        If Wsh.Name = "Перечень ТМЦ уч. св.№5" Then
            Wsh.Copy                    ' выбираем только лист Перечень ТМЦ уч. св.№5
            ActiveWorkbook.SaveAs iPath & Wsh.Name & ".xlsx", xlOpenXMLWorkbook        ' Формируем итоговый путь и название файла Перечень ТМЦ уч. св.№5
            ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value                  ' сохранить как значения
            ActiveWorkbook.Close SaveChanges:=True
            
            ' Сообщение с результатом выполнения процедуры
            MsgBox "Файл успешно сохранен с названием -  " & Wsh.Name & vbNewLine & "Файл вы найдёте в -  " & iPath, vbInformation, "Результат"
        End If

    Next

    With Application
        .Calculation = xlCalculationAutomatic
        .DisplayAlerts = True
        .ScreenUpdating = True
    End With

End Sub
[/vba]

Автор - MikeVol
Дата добавления - 09.12.2021 в 10:18
ekut Дата: Четверг, 09.12.2021, 10:45 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Да, спасибо, все работает, только возникает проблема при сохранении и как с ней бодаться???? При открытии нового Перечня задает вопрос, потом после всех манипуляций приходится его еще раз пересохранять.
К сообщению приложен файл: Doc1.docx(129.3 Kb)


Сообщение отредактировал ekut - Четверг, 09.12.2021, 10:46
 
Ответить
СообщениеДа, спасибо, все работает, только возникает проблема при сохранении и как с ней бодаться???? При открытии нового Перечня задает вопрос, потом после всех манипуляций приходится его еще раз пересохранять.

Автор - ekut
Дата добавления - 09.12.2021 в 10:45
MikeVol Дата: Четверг, 09.12.2021, 10:59 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 163
Репутация: 16 ±
Замечаний: 0% ±

Excel 2019
ekut, У меня данная ошибка не воспроизводится. Сохранённый файл открывается без каких то ошибок. Как вариант возможно из-за версии офиса или же что-то с вашим офисом, Возможно.
К сообщению приложен файл: 2706844.png(60.4 Kb)


Ученик - Наблюдатель. Учиться Никогда не поздно.

Сообщение отредактировал MikeVol - Четверг, 09.12.2021, 11:01
 
Ответить
Сообщениеekut, У меня данная ошибка не воспроизводится. Сохранённый файл открывается без каких то ошибок. Как вариант возможно из-за версии офиса или же что-то с вашим офисом, Возможно.

Автор - MikeVol
Дата добавления - 09.12.2021 в 10:59
ekut Дата: Четверг, 09.12.2021, 11:06 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Ошибка Excel: удаленные записи: сортировка из части /xl/worksheets/sheet10.xml. Я так поняла она не у меня одной.... Спасибо огромное Вам, буду думать!!!!
 
Ответить
СообщениеОшибка Excel: удаленные записи: сортировка из части /xl/worksheets/sheet10.xml. Я так поняла она не у меня одной.... Спасибо огромное Вам, буду думать!!!!

Автор - ekut
Дата добавления - 09.12.2021 в 11:06
MikeVol Дата: Четверг, 09.12.2021, 11:21 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 163
Репутация: 16 ±
Замечаний: 0% ±

Excel 2019
ekut, Гугл говорит что перед сохранением листа Очистите поля сортировки
Вставьте эту строчку:
[vba]
Код
    Sheets("Перечень ТМЦ уч. св.№5").Sort.SortFields.Clear
[/vba]
перед строкой
[vba]
Код
    ' Задаём каталог сохранения файла (в данном случае текущий каталог)
    iPath = ThisWorkbook.Path & "\"                           '
[/vba]
Должно получиться вот так:
[vba]
Код
    ' Объявление переменных
    Dim Wsh         As Worksheet
    Dim iPath       As String

    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
        .Calculation = xlCalculationManual
    End With

    Sheets("Перечень ТМЦ уч. св.№5").Sort.SortFields.Clear
    
    ' Задаём каталог сохранения файла (в данном случае текущий каталог)
    iPath = ThisWorkbook.Path & "\"                           '

[/vba]
Должно вам помочь.


Ученик - Наблюдатель. Учиться Никогда не поздно.

Сообщение отредактировал MikeVol - Четверг, 09.12.2021, 11:23
 
Ответить
Сообщениеekut, Гугл говорит что перед сохранением листа Очистите поля сортировки
Вставьте эту строчку:
[vba]
Код
    Sheets("Перечень ТМЦ уч. св.№5").Sort.SortFields.Clear
[/vba]
перед строкой
[vba]
Код
    ' Задаём каталог сохранения файла (в данном случае текущий каталог)
    iPath = ThisWorkbook.Path & "\"                           '
[/vba]
Должно получиться вот так:
[vba]
Код
    ' Объявление переменных
    Dim Wsh         As Worksheet
    Dim iPath       As String

    With Application
        .ScreenUpdating = False
        .DisplayAlerts = False
        .Calculation = xlCalculationManual
    End With

    Sheets("Перечень ТМЦ уч. св.№5").Sort.SortFields.Clear
    
    ' Задаём каталог сохранения файла (в данном случае текущий каталог)
    iPath = ThisWorkbook.Path & "\"                           '

[/vba]
Должно вам помочь.

Автор - MikeVol
Дата добавления - 09.12.2021 в 11:21
ekut Дата: Четверг, 09.12.2021, 12:38 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Печально, но не помогает!!!!
 
Ответить
СообщениеПечально, но не помогает!!!!

Автор - ekut
Дата добавления - 09.12.2021 в 12:38
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение Листа без макросов и формул (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!