Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
13 / 13 / 0
Регистрация: 24.10.2015
Сообщений: 279

Ошибка subscript out of range

02.04.2018, 14:59. Показов 1675. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня уважаемые светлые головы. По данному вопросу много тем, но я так понимаю, что в каждом отдельном случае причина и одна и много их одновременно.
Прошу незамыленным взглядом посмотреть на два файла и помочь с советом как избавиться от ошибки subscript out of range.
Самое интересное, что когда тестирую код на своем компе - все отрабатывает. Отправил Журнал диспетчеру на пробу, бросил ему заявку - глючит.
Суть файлов такова: в одном "Бланк заявки..." формируется заявка и отправляется диспетчеру. Диспетчер открывает заявку и обрабатывает ее. Если заявка принимается, то данные с ее копируются в общий журнал. Где-то в месте открытия журнала при определении последней строки и вылезает ошибка. Вроде бы и лист такой есть и т.д., но не получается убрать ошибку и все тут. При этом на моем компе эти же самые файлы отрабатывают.
Извиняюсь за кривой код, самоучусь пока еще, так сказать)))
Вложения
Тип файла: 7z Ошибка.7z (727.4 Кб, 4 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.04.2018, 14:59
Ответы с готовыми решениями:

Ошибка - Subscript out of range
Объясните пожалуйста, что я делаю не так? Хочу просто скопировать Лист1 в другую книгу (уже открытую), в книге "2.xlsx" 33...

Ошибка Subscript out of range
Здравствуйте, пытаюсь решить задачу, но столкнулся с проблемой в виде ошибки Subscript out of range Option Base 1 Sub prim4() ...

Ошибка Subscript out of range
Зачастую вылетает ошибка.Пожайлуста помогите найти Sub Вычислить() Dim matr() As Single 'Объявление динамического массива Dim y, u,...

11
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
02.04.2018, 15:15
Ну у меня LastRowJur=0, если пароль не введён. Но это вероятно не та ошибка, Вы ведь пароль знаете
А причина ошибки может скрываться например тут:
Visual Basic
1
2
LastRowJur = Workbooks("Журнал заявок").Sheets("Журнал заявок").Cells(Rows.Count, 1).End(xlUp).Row + 1
LastRowArh = Workbooks("Журнал заявок").Sheets("Архив заявок").Cells(Rows.Count, 1).End(xlUp).Row + 1
- нужно явно указывать какого листа Rows.Count берёте, т.к. если активным будет не "Журнал заявок", то может быть сюрприз.
Ну и ещё - в Workbooks("Журнал заявок") желательно указывать расширение, т.к. для того, чтоб пользовать так - в системе должно быть указано "скрывать расширения для..." точно не помню как там далее, а если не указано - то тут будет ошибка.
1
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
02.04.2018, 17:40
поставь On Error Resume Next перед строчкой выполнения
1
13 / 13 / 0
Регистрация: 24.10.2015
Сообщений: 279
02.04.2018, 20:03  [ТС]
Спасибо, друзья, завтра попробую все, что предложили. Смущает только то, что когда писал код, отрабатывал его работу на своем компе (сам себе присылал заявку, сам ее обрабатывал) и все работало и работает сейчас. Проблема вылезла, когда решил прокрутить алгоритм на двух компах: со своего посылал заявку диспетчеру, а он должен был ее обработать. Работа велась и в первом и во втором случае в одних и тех же файлах(((
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
02.04.2018, 20:33
Ну тогда начните с расширения: Workbooks("Журнал заявок.xlsm")....
1
13 / 13 / 0
Регистрация: 24.10.2015
Сообщений: 279
02.04.2018, 20:43  [ТС]
Цитата Сообщение от Hugo121 Посмотреть сообщение
Ну тогда начните с расширения: Workbooks("Журнал заявок.xlsm")....
Тоже так кажется

Добавлено через 8 минут
Цитата Сообщение от Hugo121 Посмотреть сообщение
Ну тогда начните с расширения: Workbooks("Журнал заявок.xlsm")....
Hugo121, подскажите, в теле кода есть строка открытия Журнала, не помню точно ее полностью, но заканчивается :=Jurnal. могу ли я использовать "Jurnal" вместо Workbooks("Журнал заявок.xlsm")?
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
02.04.2018, 20:52
Нет, там ведь полный путь. Но можете взять часть после последнего слэша.

Добавлено через 3 минуты
Но проще/лучше/удобнее вообще всюду вместо Workbooks("Журнал заявок") использовать объектную переменную.
1
13 / 13 / 0
Регистрация: 24.10.2015
Сообщений: 279
02.04.2018, 21:03  [ТС]
Цитата Сообщение от Hugo121 Посмотреть сообщение
объектную переменную.
имеете ввиду взять переменную, например m, объявить ее Dim m as Object, а дальше писать m=Workbooks("Журнал заявок")?
Извиняюсь за глупые вопросы))) Но вы уже наверное привыкли
0
Заблокирован
02.04.2018, 21:14
Visual Basic
1
2
Dim m as WORKBOOK', а дальше писать 
SET m=Workbooks("Журнал заявок")
1
13 / 13 / 0
Регистрация: 24.10.2015
Сообщений: 279
02.04.2018, 21:25  [ТС]
Цитата Сообщение от Остап Бонд Посмотреть сообщение
2
Dim m as WORKBOOK', а дальше писать
SET m=Workbooks("Журнал заявок")
это я про себя...
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
02.04.2018, 23:00
Тогда скорее так:
Visual Basic
1
2
3
4
5
    Dim m As Workbook    ', а дальше писать
    If MsgBox("Создать новую запись в журнале?", vbQuestion + vbYesNo, "Обработка заявки") = vbYes Then
        Jurnal = Application.GetOpenFilename("Файлы Excel 97-2003,*.xlsm", , "Выбор файла")    'выбор файла для копирования в него данных из заявки
        Set m = Workbooks.Open(Filename:=Jurnal)     '"C:\Users\DleTeplov\Desktop\Журнал заявок.xlsm"
    End If
0
13 / 13 / 0
Регистрация: 24.10.2015
Сообщений: 279
03.04.2018, 07:51  [ТС]
Спасибо всем кто откликнулся. Все сработало как надо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.04.2018, 07:51
Помогаю со студенческими работами здесь

Ошибка Subscript out of range при вычислениях
Sub Zadacha4() Dim a As Integer Dim b As Integer Dim x(1 To 7) As Integer Dim l(1 To 5) As Integer Dim Sum1...

Ошибка при добавлении в массив - Subscript out of range
здравствуйте в коде при добавлении в массив получаю ошибку Sub s() Dim CountИменаTitleTag As Long CountИменаTitleTag = 0...

Ошибка в сравнении двух массивов (Subscript out of range)
Уважаемые форумчане, здравствуйте, есть программа сравнения двух массивов (прикрепленный файл). Если в правом массиве нет строки...

Ошибка выполнения макроса Runtime Error 9: Subscript Out of Range
Здравствуйте, у меня есть написанный макрос для Exel 2003 на нескольких компах работает , а на нескольких компах выдает ошибку Runtime...

При запуске макроса выдается ошибка Subscript out of range
Здравствуйте! Прошу помощи в избавлении от ошибки. Сама я полный ноль в программировании, в работе использую ранее написанный макрос...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru