Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Одна книга обрабатывается другой и данные выгружаются в файл, данные создаются, но затем перезаписываются на данные с другого листа
 
Пожалуйста, помогите решить проблему. Есть две книги. Одна с листом таблицей данных и листом подстановки. Другая книга при открытии запускает процедуру (часть кода можно увидеть ниже). Эта книга берет данные с листа данных преобразовывает и выгружает на лист подстановки. Далее выгруженные данные переносятся в отдельный текстовый файл. Проводит обработку и все закрывается. Сейчас все работает, но не всегда. Одну таблицу обрабатывает. Другую большую нет. То есть сама процедура обработки и переноса в файл работает с разными данными и большими и не очень. А, закрытие обрабатываемой книги приводит к сбою, но только на одном файле с большими данными. Файл по структуре идентичен другому нормально работающему с меньшим кол-ом данных. Если запустить по F8 и сделать останов перед командой    wrkBook.Close True
То требуемый файл создается и данные там правильные. Если после останова сразу запустить процедуру, то данные обработки перезапишутся на данные с листа первичных данных. Если останов подержать некоторое значительное время, а потом продолжить процедуру, то перезаписи не произойдет.
Куда копать?
Ecxel 2013. Файлы .xls Система win7

Код
Private Sub Workbook_Open()
Dim wrkBoook As Workbook
Dim wrkBook As Workbook
Dim strPath As String, strFile As String
    
Set wrkBoook = ThisWorkbook
        strPath = wrkBoook.Path  '--- адрес папки где хранится рабочая книга

        strFile = strPath & "\El_trigger.xls"  '--- Книга в которой хранятся данные на одном листе и подставляются обработанные на другой лист

    Set wrkBook = Application.Workbooks.Open(strFile) '--- открываем книгу и передаем объект в другой sub

        Call PriceRegion(wrkBook, strPath) '--- вызов другого sub с процедурой обработки таблиц одного листа и копирования данных на другой лист
'--- в другом sub данные с промежуточного листа, куда произошла вся выгрузка обработанных этим sab данных 
             shtNew.SaveAs strPath & "\price" & Format(Now(), "yyyymmdd_hhnnss") & ".txt", xlUnicodeText  '--- эта строка взята из конца процедуры другого sub
'--- на этом этапе нормально создается файл с обработанными данными
        wrkBook.Close True '--- БЕЗ этой команды созданный файл содержит нормальные данные, но книга закрывается с запросом об сохранении изменения в созданном файле price
'--- если подтвердить сохранение, то данные переписываются на текстовые данные без форматирования, которые содержатся на листе, который нужно обработать. Если просто закрыть, то все НОРМАЛЬНО
'--- С ЭТОЙ командой закрытия создающийся файл перезаписывается автоматически. В ЧЕМ ЗДЕСЬ ПОДВОХ!!!!!!!!!!!!!!!!!!!!!!!!!
        
        ThisWorkbook.Close True  '--- файл всегда закрывается нормально
End Sub
Изменено: jaremalex - 01.02.2016 23:19:39
Страницы: 1
Наверх