Добрый день.
Помогите, пожалуйста, организовать импорт данных.
Необходимо импортировать данные (формулы, значения) из закрытой книги (из Excel > в Excel), где данные сохранены на скрытом листе и установлен автофильтр.
Проблема в том, что, когда файл сохранен с установленным/поставленным фильтром данные импортируются не корректные.
Я попытался через VBA снять фильтр, но сам макрос в рабочем документе не хочет работать (WS.Select - ЗДЕСЬ возникает ОШИБКА), а вот в новом созданном документе Excel работает отлично.
Рабочий Excel документ с макросами (всего 8 листов) при закрытии файла скрываются все листы кроме 6 «Безопасность макросов» (три из них скрыты постоянно – «Лист1»; «Лист2»; «Лист8»). При запуске (открытие) отображаются 4-и листа: «Лист3»; «Лист4»; «Лист5»; «Лист6» (скрывается 6-ой + три из них скрыты постоянно – «Лист1»; «Лист2»; «Лист8»)
Можно ли импортировать данные через VBA так, чтобы установленный автофильтр и скрытие листы не создавали помеху?
Когда запускаю макрос CleanFilterExcel через рабочий документ не срабатывает Private Sub Workbook_Open() чтобы отображать листы: «Лист3»; «Лист4»; «Лист5»; «Лист6». Сам документ защищен (Защита листа и книги). «Лист3» = «Расчет».
Помогите, пожалуйста, организовать импорт данных.
Необходимо импортировать данные (формулы, значения) из закрытой книги (из Excel > в Excel), где данные сохранены на скрытом листе и установлен автофильтр.
Проблема в том, что, когда файл сохранен с установленным/поставленным фильтром данные импортируются не корректные.
Я попытался через VBA снять фильтр, но сам макрос в рабочем документе не хочет работать (WS.Select - ЗДЕСЬ возникает ОШИБКА), а вот в новом созданном документе Excel работает отлично.
Рабочий Excel документ с макросами (всего 8 листов) при закрытии файла скрываются все листы кроме 6 «Безопасность макросов» (три из них скрыты постоянно – «Лист1»; «Лист2»; «Лист8»). При запуске (открытие) отображаются 4-и листа: «Лист3»; «Лист4»; «Лист5»; «Лист6» (скрывается 6-ой + три из них скрыты постоянно – «Лист1»; «Лист2»; «Лист8»)
Можно ли импортировать данные через VBA так, чтобы установленный автофильтр и скрытие листы не создавали помеху?
Код |
---|
Public Sub CleanFilterExcel() Dim xl As Excel.Application Dim WB As Excel.Workbook Dim WS As Excel.Worksheet Dim ControlFile As String ControlFile = ActiveWorkbook.Name stNamePath = "E:\Users\ASS\Desktop\" stNameFile = "Калькулятор.xlsb" Set xl = CreateObject("Excel.Application") xl.Visible = False Set WB = Excel.Workbooks.Open(stNamePath & stNameFile) Set WS = WB.Worksheets("Расчет") Windows(stNameFile).Activate 'WS.Visible = xlSheetVisible 'При запуске файла, макрос (Workbook_Open) отображает скрытые листы в т.ч. лист "Расчет" WS.Select 'ЗДЕСЬ возникает ОШИБКА If WS.FilterMode Then WS.ShowAllData 'Если установлен фильтр очищаем WB.Close saveChanges:=True 'закрыть рабочую книгу с сохранением изменений Set xl = Nothing Set WB = Nothing Set WS = Nothing Windows(ControlFile).Activate End Sub |
Когда запускаю макрос CleanFilterExcel через рабочий документ не срабатывает Private Sub Workbook_Open() чтобы отображать листы: «Лист3»; «Лист4»; «Лист5»; «Лист6». Сам документ защищен (Защита листа и книги). «Лист3» = «Расчет».
Знания могут придать человеку вес, но только воспитанность может придать ему блеск