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

Вход

Регистрация

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

 

= Мир MS Excel/Экспорт листа с включенными фильтрами с вставкой значений - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Экспорт листа с включенными фильтрами с вставкой значений (Макросы/Sub)
Экспорт листа с включенными фильтрами с вставкой значений
Santtic Дата: Среда, 29.05.2019, 14:05 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 67
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
Всем добрый день, имею пару макросов которые красиво работают в своих вариантах, но есть один макрос который хорошо делает експорт с включеными фильтрами и мен этио очень удобно, беда в том что он копирует ссылки на данные, а нужно что бы вставлял именно значения
Пример макроса который сейчас [vba]
Код
Sub Експорт()
Prefix = "C:\Documents and Settings\All Users\Desktop\"
    Suffix = ".xlsm"
    Name = Sheets("ст.2").Range("A1")
    NewFileName = Prefix & Name & Suffix
    ActiveSheet.Copy
    ActiveSheet.UsedRange.Value = Sheets("ст.2").UsedRange.Value
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=NewFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Close SaveChanges:=False
    Application.DisplayAlerts = True
MsgBox "Вибраний лист збережено на робочий стіл. " & "Назва кінцевого файлу: " & Name & Suffix, , ""

End Sub
[/vba]

Подскажите пожалуйста как вставить сюда эту часть макроса что бы он вставлял только значения или может есть еще какое решение. Буду признателен. Спасибо.
[vba]
Код
Sheets(List).UsedRange.Value = Sheets(List).UsedRange.Value
[/vba]
 
Ответить
СообщениеВсем добрый день, имею пару макросов которые красиво работают в своих вариантах, но есть один макрос который хорошо делает експорт с включеными фильтрами и мен этио очень удобно, беда в том что он копирует ссылки на данные, а нужно что бы вставлял именно значения
Пример макроса который сейчас [vba]
Код
Sub Експорт()
Prefix = "C:\Documents and Settings\All Users\Desktop\"
    Suffix = ".xlsm"
    Name = Sheets("ст.2").Range("A1")
    NewFileName = Prefix & Name & Suffix
    ActiveSheet.Copy
    ActiveSheet.UsedRange.Value = Sheets("ст.2").UsedRange.Value
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=NewFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Close SaveChanges:=False
    Application.DisplayAlerts = True
MsgBox "Вибраний лист збережено на робочий стіл. " & "Назва кінцевого файлу: " & Name & Suffix, , ""

End Sub
[/vba]

Подскажите пожалуйста как вставить сюда эту часть макроса что бы он вставлял только значения или может есть еще какое решение. Буду признателен. Спасибо.
[vba]
Код
Sheets(List).UsedRange.Value = Sheets(List).UsedRange.Value
[/vba]

Автор - Santtic
Дата добавления - 29.05.2019 в 14:05
_Boroda_ Дата: Среда, 29.05.2019, 14:17 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15576
Репутация: 6077 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Попробуйте так
[vba]
Код
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПопробуйте так
[vba]
Код
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
[/vba]

Автор - _Boroda_
Дата добавления - 29.05.2019 в 14:17
Santtic Дата: Среда, 29.05.2019, 15:45 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 67
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
Попробуйте так

к сожалению рвет структуру документа, данные переносятся не верно Вся проблема в том что фильтра у меня там включены постоянно, и отключать их мне крайне не удобно.
 
Ответить
Сообщение
Попробуйте так

к сожалению рвет структуру документа, данные переносятся не верно Вся проблема в том что фильтра у меня там включены постоянно, и отключать их мне крайне не удобно.

Автор - Santtic
Дата добавления - 29.05.2019 в 15:45
_Boroda_ Дата: Среда, 29.05.2019, 16:05 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15576
Репутация: 6077 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Тогда так вместо той строки
[vba]
Код
ls_ = ActiveWorkbook.LinkSources(xlExcelLinks)
    If Not IsEmpty(ls_) Then
        For i = 1 To UBound(ls_)
            ActiveWorkbook.BreakLink Name:=ls_(i), Type:=xlExcelLinks
        Next i
    End If
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТогда так вместо той строки
[vba]
Код
ls_ = ActiveWorkbook.LinkSources(xlExcelLinks)
    If Not IsEmpty(ls_) Then
        For i = 1 To UBound(ls_)
            ActiveWorkbook.BreakLink Name:=ls_(i), Type:=xlExcelLinks
        Next i
    End If
[/vba]

Автор - _Boroda_
Дата добавления - 29.05.2019 в 16:05
Santtic Дата: Среда, 29.05.2019, 16:12 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 67
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
вместо той строки

если ставлю вместо той строки, то выдает ошибку
юху, спасибо вам большое, все сработало, не так вставил.
Спасибо огромное, работает так как хотелось)


Сообщение отредактировал Santtic - Среда, 29.05.2019, 16:26
 
Ответить
Сообщение
вместо той строки

если ставлю вместо той строки, то выдает ошибку
юху, спасибо вам большое, все сработало, не так вставил.
Спасибо огромное, работает так как хотелось)

Автор - Santtic
Дата добавления - 29.05.2019 в 16:12
_Boroda_ Дата: Среда, 29.05.2019, 16:24 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15576
Репутация: 6077 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А у меня не выдает. Как Вы думаете, что сделать нужно, чтобы и у Вас не выдавало?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА у меня не выдает. Как Вы думаете, что сделать нужно, чтобы и у Вас не выдавало?

Автор - _Boroda_
Дата добавления - 29.05.2019 в 16:24
Santtic Дата: Среда, 29.05.2019, 16:28 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 67
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
Как Выдумаете, что сделать нужно, чтобы и у Вас не выдавало?

проанализировать, что пользователь сделал не так)
Ошибку нашел) спасибо еще раз)
 
Ответить
Сообщение
Как Выдумаете, что сделать нужно, чтобы и у Вас не выдавало?

проанализировать, что пользователь сделал не так)
Ошибку нашел) спасибо еще раз)

Автор - Santtic
Дата добавления - 29.05.2019 в 16:28
_Boroda_ Дата: Среда, 29.05.2019, 16:42 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15576
Репутация: 6077 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
проанализировать, что пользователь сделал не так

Это наилучший вариант. А стандартный - приложить свой код или файл с кодом


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
проанализировать, что пользователь сделал не так

Это наилучший вариант. А стандартный - приложить свой код или файл с кодом

Автор - _Boroda_
Дата добавления - 29.05.2019 в 16:42
Santtic Дата: Среда, 29.05.2019, 16:49 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 67
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
приложить свой код или файл с кодом

почему то подумал, что он тут лишний. Сори)
 
Ответить
Сообщение
приложить свой код или файл с кодом

почему то подумал, что он тут лишний. Сори)

Автор - Santtic
Дата добавления - 29.05.2019 в 16:49
Santtic Дата: Вторник, 25.06.2019, 12:29 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 67
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
Всем добрый день, не могу понять, почему один и тот же макрос работает по разному, а именно при експорте листа меняет имя листа в рабочей книге. Имя которое находиться в ячейке U1 сформировано с помощью формулы слияния ячеек. Мне удоюбно было бы, если бы лист в рабочей книге оставался с прежним именем.
[vba]
Код

Sub Експорт()
Prefix = "C:\Documents and Settings\All Users\Desktop\"
    Suffix = ".xlsm"
    Name = Sheets("Паспорта").Range("U1")
    NewFileName = Prefix & Name & Suffix
    ActiveSheet.Copy
    Application.DisplayAlerts = False
    ls_ = ActiveWorkbook.LinkSources(xlExcelLinks)
    If Not IsEmpty(ls_) Then
        For i = 1 To UBound(ls_)
            ActiveWorkbook.BreakLink Name:=ls_(i), Type:=xlExcelLinks
        Next i
    End If
    ActiveWorkbook.SaveAs Filename:=NewFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Close SaveChanges:=False
    Application.DisplayAlerts = True
MsgBox "Вибраний лист збережено на робочий стіл. " & "Назва кінцевого файлу: " & Name & Suffix, , ""

End Sub
[/vba]
 
Ответить
СообщениеВсем добрый день, не могу понять, почему один и тот же макрос работает по разному, а именно при експорте листа меняет имя листа в рабочей книге. Имя которое находиться в ячейке U1 сформировано с помощью формулы слияния ячеек. Мне удоюбно было бы, если бы лист в рабочей книге оставался с прежним именем.
[vba]
Код

Sub Експорт()
Prefix = "C:\Documents and Settings\All Users\Desktop\"
    Suffix = ".xlsm"
    Name = Sheets("Паспорта").Range("U1")
    NewFileName = Prefix & Name & Suffix
    ActiveSheet.Copy
    Application.DisplayAlerts = False
    ls_ = ActiveWorkbook.LinkSources(xlExcelLinks)
    If Not IsEmpty(ls_) Then
        For i = 1 To UBound(ls_)
            ActiveWorkbook.BreakLink Name:=ls_(i), Type:=xlExcelLinks
        Next i
    End If
    ActiveWorkbook.SaveAs Filename:=NewFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Close SaveChanges:=False
    Application.DisplayAlerts = True
MsgBox "Вибраний лист збережено на робочий стіл. " & "Назва кінцевого файлу: " & Name & Suffix, , ""

End Sub
[/vba]

Автор - Santtic
Дата добавления - 25.06.2019 в 12:29
_Boroda_ Дата: Вторник, 25.06.2019, 13:00 | Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15576
Репутация: 6077 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Что забыли сделать?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЧто забыли сделать?

Автор - _Boroda_
Дата добавления - 25.06.2019 в 13:00
Santtic Дата: Вторник, 25.06.2019, 13:18 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 67
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
Ума не приложу, в одном файле макрос работает четко, а в другом, ничего не могу придумать. Тут у меня правда еще через диспетчер имен фотографии появляются в файле, но не думаю что причина в нем.
 
Ответить
СообщениеУма не приложу, в одном файле макрос работает четко, а в другом, ничего не могу придумать. Тут у меня правда еще через диспетчер имен фотографии появляются в файле, но не думаю что причина в нем.

Автор - Santtic
Дата добавления - 25.06.2019 в 13:18
_Boroda_ Дата: Вторник, 25.06.2019, 13:28 | Сообщение № 13
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15576
Репутация: 6077 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ну хорошо, уговорили, высылайте мне на почту билет на самолет, я прилечу и посмотрю

[offtop]Доктор едет, едет сквозь снежную равнину
https://yandex.ru/search....3344382
[/offtop]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНу хорошо, уговорили, высылайте мне на почту билет на самолет, я прилечу и посмотрю

[offtop]Доктор едет, едет сквозь снежную равнину
https://yandex.ru/search....3344382
[/offtop]

Автор - _Boroda_
Дата добавления - 25.06.2019 в 13:28
Santtic Дата: Вторник, 25.06.2019, 14:07 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 67
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
Файлы у меня очень большие(
Подготовил файлик, посмотрите пожалуйста по возможности.
К сообщению приложен файл: ________END-.xlsm(24.1 Kb)
 
Ответить
СообщениеФайлы у меня очень большие(
Подготовил файлик, посмотрите пожалуйста по возможности.

Автор - Santtic
Дата добавления - 25.06.2019 в 14:07
_Boroda_ Дата: Вторник, 25.06.2019, 15:07 | Сообщение № 15
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15576
Репутация: 6077 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Все просто. Не нужно называть переменные так, как хочется Вам. Нужно сначала спросить VBA - а не занято ли это имя? Найдите одно отличие от своего кода (в 3-х местах). Путь не считается
Ну и сообщение покрасивше теперь пишется
[vba]
Код
Sub Експорт()
Prefix = "g:\Моя\Стереть\"
    Suffix = ".xlsm"
    Name_ = Sheets("Паспорта").Range("U1")
    NewFileName = Prefix & Name_ & Suffix
    ActiveSheet.Copy
    ls_ = ActiveWorkbook.LinkSources(xlExcelLinks)
    If Not IsEmpty(ls_) Then
        For i = 1 To UBound(ls_)
            ActiveWorkbook.BreakLink Name:=ls_(i), Type:=xlExcelLinks
        Next i
    End If
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=NewFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Close SaveChanges:=False
    Application.DisplayAlerts = True
MsgBox "Вибраний лист збережено на робочий стіл." & vbLf & "Назва кінцевого файлу: " & vbLf & "''" & Name_ & Suffix & "''"
End Sub
[/vba]
К сообщению приложен файл: _END-1.xlsm(24.1 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВсе просто. Не нужно называть переменные так, как хочется Вам. Нужно сначала спросить VBA - а не занято ли это имя? Найдите одно отличие от своего кода (в 3-х местах). Путь не считается
Ну и сообщение покрасивше теперь пишется
[vba]
Код
Sub Експорт()
Prefix = "g:\Моя\Стереть\"
    Suffix = ".xlsm"
    Name_ = Sheets("Паспорта").Range("U1")
    NewFileName = Prefix & Name_ & Suffix
    ActiveSheet.Copy
    ls_ = ActiveWorkbook.LinkSources(xlExcelLinks)
    If Not IsEmpty(ls_) Then
        For i = 1 To UBound(ls_)
            ActiveWorkbook.BreakLink Name:=ls_(i), Type:=xlExcelLinks
        Next i
    End If
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=NewFileName, FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWorkbook.Close SaveChanges:=False
    Application.DisplayAlerts = True
MsgBox "Вибраний лист збережено на робочий стіл." & vbLf & "Назва кінцевого файлу: " & vbLf & "''" & Name_ & Suffix & "''"
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 25.06.2019 в 15:07
Santtic Дата: Среда, 26.06.2019, 08:04 | Сообщение № 16
Группа: Пользователи
Ранг: Участник
Сообщений: 67
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
[vba]
Код
Application.DisplayAlerts = False
[/vba] она автоматом сохраняет мой экспорт?
[vba]
Код
NewFileName = Prefix & Name_ & Suffix
[/vba] по другому прописано формирование имя файла?
Третье отличие не найду) ну кроме как по новому сообщение выводить будет)


Сообщение отредактировал Santtic - Среда, 26.06.2019, 08:12
 
Ответить
Сообщение[vba]
Код
Application.DisplayAlerts = False
[/vba] она автоматом сохраняет мой экспорт?
[vba]
Код
NewFileName = Prefix & Name_ & Suffix
[/vba] по другому прописано формирование имя файла?
Третье отличие не найду) ну кроме как по новому сообщение выводить будет)

Автор - Santtic
Дата добавления - 26.06.2019 в 08:04
_Boroda_ Дата: Среда, 26.06.2019, 09:09 | Сообщение № 17
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15576
Репутация: 6077 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
[vba]
Код
Application.DisplayAlerts = False
[/vba]не дает Excel-ю выводить сообщения (для нашего случая - когда такой файл уже есть). Об этом можно почитать в справке
Принципиальное отличие одно - в строке
[vba]
Код
Name_ = Sheets("Паспорта").Range("U1")
[/vba]Как у Вас обзывается переменная? И как у меня? Я ж не зря написал
Не нужно называть переменные так, как хочется Вам. Нужно сначала спросить VBA - а не занято ли это имя?
В VBA уже есть оператор Name, а Вы так назвали переменную. Вот он и путается, в Вашем случае пытается переименовать лист


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение[vba]
Код
Application.DisplayAlerts = False
[/vba]не дает Excel-ю выводить сообщения (для нашего случая - когда такой файл уже есть). Об этом можно почитать в справке
Принципиальное отличие одно - в строке
[vba]
Код
Name_ = Sheets("Паспорта").Range("U1")
[/vba]Как у Вас обзывается переменная? И как у меня? Я ж не зря написал
Не нужно называть переменные так, как хочется Вам. Нужно сначала спросить VBA - а не занято ли это имя?
В VBA уже есть оператор Name, а Вы так назвали переменную. Вот он и путается, в Вашем случае пытается переименовать лист

Автор - _Boroda_
Дата добавления - 26.06.2019 в 09:09
Santtic Дата: Среда, 26.06.2019, 18:42 | Сообщение № 18
Группа: Пользователи
Ранг: Участник
Сообщений: 67
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
Вот он и путается, в Вашем случае пытается переименовать лист

ааа, вот оно в чем) в очередной раз, спасибо вам большое. Вы меня уже многому научили.
 
Ответить
Сообщение
Вот он и путается, в Вашем случае пытается переименовать лист

ааа, вот оно в чем) в очередной раз, спасибо вам большое. Вы меня уже многому научили.

Автор - Santtic
Дата добавления - 26.06.2019 в 18:42
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Экспорт листа с включенными фильтрами с вставкой значений (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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