Страницы: 1
RSS
Не работает строка закрытия книги
 
Добрый день!

Подскажите, почему не работает строка:
Код
Windows(Nom3).Close False 'закрыть книгу 2
В этом коде?
Код
Sub Мой()
MsgBox "ВНИМАНИЕ! Убедитесь что лист с прайсом в файле называется artikelimport hulp v2.2"
With Application
.Calculation = xlManual
.ScreenUpdating = False
End With
Dim a, B As Variant, Nom, Nom2 As String 'Описываем переменные
    Nom = ActiveWorkbook.Name 'Задаем имя активной книге
    ChDrive "C:"    'Выбор диска
    ChDir "C:\"    'Выбор каталога
        a = Application.GetOpenFilename("Тип файла (*.xlsx), *.xlsx", _
                                    , "Выберите свой прайс", , True) 'выбираем тип файлов excel
        Select Case TypeName(a)
        Case Is = "Boolean"
            Exit Sub
        Case Else
            For B = LBound(a) To UBound(a)
                Workbooks.Open a(B), CorruptLoad:=xlExtractData 'проверка выбора excel
            Next
        End Select
    Nom3 = ActiveWorkbook.Name 'задаем имя 2-й книге
    Sheets("artikelimport hulp v2.2").Activate 'Выбрать лист
    Cells.Select
    Selection.Copy 'Копировать выделеное
    Windows(Nom).Activate 'активировать книгу1
    Лист2.Visible = True 'отобразить лист
    Лист2.Activate 'Выбрать лист
    Cells.Select
'    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    ActiveSheet.Paste
Application.DisplayAlerts = False 'скрыть сообщения об ошибке
Windows(Nom3).Close False 'закрыть книгу 2

Лист3.Select 'выбрать лист

    Лист2.Visible = 2 'Скрыть лист
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With 'Включить обновление экрана
MsgBox ("Прайс поставщика загружен"), 64, "InternetStore" 'Сообщение о выполнении
End Sub

перед этим выполняется точно такой же код, только там открываем файл с расширением ".xls"
и соответственно имя книги и листов другие.

Работает это последовательно, сначала загружается 1-я книга, после 2-я книга. запускается это с CommandButton1 и CommandButton2, которые находятся на UserForm1...

Что не так?

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Без примера. :( Попробуйте:
Код
Workbooks(Nom3).Close 0
Я сам - дурнее всякого примера! ...
 
kuklp, Выдает туже ошибку "subscript out ofrange" ...

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
А в момент ошибки какое значение у переменной Nom3?
P.S. К вопросу отношения не имеет, но тип нужно задавать каждой переменной. Например, Nom осталась без присвоения типа )
 
Цитата
Иван Смирнов написал:
"subscript out ofrange"
- это значит, что среди открытых книг, книги с таким именем нет. я ж писал
Цитата
kuklp написал:
Без примера.
трудно комментировать.
Я сам - дурнее всякого примера! ...
 
А может всё дело в GetOpenFilename? Я правильно понимаю, что книга открывается в невидимом режиме?
 
Не Юр, ты спутал, друже. Getobject открывает в невидимом. А GetOpenFilename получает строку с именем.
Я сам - дурнее всякого примера! ...
 
Тады ой!  
 
Цитата
Юрий М написал:
А в момент ошибки какое значение у переменной Nom3?
Значение Имя открытой книги с которой работаю.(скрин во вложении)
Только заметил, что этот файл открывается как "восстановлен". это меняет имя?
как сделать чтобы он открывался правильно?

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Убрал коде вот это:
Код
, CorruptLoad:=xlExtractData 'проверка выбора excel
это я добавлял для открытия файлов скаченных из интернета. может проблема была в этом?
Изменено: Иван Смирнов - 09.09.2018 20:02:31

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Цитата
Иван Смирнов написал:
файл открывается как "восстановлен". это меняет имя
Таки да. Но не в этом суть(ИМХО) Для начала нать устранить падение фаилА.
Я сам - дурнее всякого примера! ...
 
Цитата
kuklp написал:
Для начала нать устранить падение фаилА
Как это сделать?
Ведь при открытии файла двойным щелчком он открывается нормально.  
Что ему  мешает открываться макросом нормально?

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Мож при пошаговой обработке понятно станет? Нам ведь и подавно не видно, что видно Вам, дружище) Пробуем?
Я сам - дурнее всякого примера! ...
 
при пошаговой обработке выдает сообщение (скрин приложил)
в чем проблема не понимаю.
создал новый пустой файл вставил туда данные , переименовал лист, и все равно выдает ошибку.

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
kuklp, Посмотрите, пожалуйста
файлы

Бессмысленно осмысливать смысл неосмысленными мыслями.
Страницы: 1
Наверх