Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2012, 13:25   #1
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию Обработка ошибки

Здравствуйте Уважаемые программисты!
Подскажите пожалуйста, как при использовании кода:

CopyRng As Range
Set CopyRng = Application.InputBox("Выделите строку для копирования?", "Выбор строки", Type:=8)

который открывает окно для указания ячейки, прописать корректный "выход из кода" (без всплывания ошибки) в случае если пользователь сразу после появления этого окна нажмет "ОК" или "Отмену" (Esc)?
Заранее спасибо.
ольгаг вне форума Ответить с цитированием
Старый 15.06.2012, 13:39   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
Dim CopyRng As Range
On Error Resume Next
Set CopyRng = Application.InputBox("Выделите строку для копирования?", "Выбор строки", Type:=8)
If CopyRng Is Nothing Then Exit Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 15.06.2012, 13:46   #3
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Код:
Dim CopyRng As Range
On Error Resume Next
Set CopyRng = Application.InputBox("Выделите строку для копирования?", "Выбор строки", Type:=8)
If CopyRng Is Nothing Then Exit Sub
Если запустить:

Sub test()
Dim CopyRng As Range
On Error Resume Next
Set CopyRng = Application.InputBox("Выделите строку для копирования?", "Выбор строки", Type:=8)
If CopyRng Is Nothing Then Exit Sub
End Sub

и сразу нажать кнопку "Отмена"
Все равно появляется ошибка: Run-time error '424' Object required.
Может быть дело в Set?

Последний раз редактировалось ольгаг; 15.06.2012 в 13:50.
ольгаг вне форума Ответить с цитированием
Старый 15.06.2012, 13:51   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

"Отмена" - это которая "Cancel" на форме inputbox'а?
У меня всё работает.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 15.06.2012, 14:01   #5
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
"Отмена" - это которая "Cancel" на форме inputbox'а?
У меня всё работает.
Да, та самая кнопка.
Но у меня вылетает ошибка (excel 2003).
Может нужно переменную Set как-то выгрузить?
ольгаг вне форума Ответить с цитированием
Старый 15.06.2012, 14:07   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Set - это не переменная. Это как Let, только другое - оператор присвоения значения объектной переменной.
Может быть у вас там ещё что-то путается? Попробуйте код в новом чистом файле. Всё закройте, откройте приложение заново, создайте новый файл, вставьте код.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 15.06.2012 в 14:14.
Hugo121 вне форума Ответить с цитированием
Старый 15.06.2012, 14:16   #7
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Set - это не переменная. Это как Let, только другое - оператор присвоения значенияо бъектной переменной.
Может быть у вас там ещё что-то путается? Попробуйте код в новом чистом файле. Всё закройте, откройте приложение заново, создайте новый файл, вставьте код.
Спасибо за наставление!
Вы знаете, получилось, когда я выставила пароль на VBA проект.
Скажите пожалуйста, существует или нет пароль, это оказывает на что-то влияние?
ольгаг вне форума Ответить с цитированием
Старый 15.06.2012, 14:30   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

В данном случае не должно. Вероятно локальный глюк, но я правда думаю, что может там MISSING в референсах VBA?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 15.06.2012, 14:47   #9
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
В данном случае не должно. Вероятно локальный глюк, но я правда думаю, что может там MISSING в референсах VBA?
У меня в Tools > References > "птички" только у:
- VBA
- Ms Excel 11.0 Object Library
- OLE Automation
- Ms Office 11.0 Object Library

что-то из этого влияет, как думаете?
Заранее всем спасибо.
ольгаг вне форума Ответить с цитированием
Старый 15.06.2012, 15:07   #10
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Думаю влиять не должно.
Думаю что глюк.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработка ошибки 404 idhttp s1s1s1 Работа с сетью в Delphi 14 16.05.2012 13:24
Обработка ошибки N/A cerberochek Microsoft Office Excel 2 02.09.2010 18:11
Обработка ошибки iggor C++ Builder 6 13.06.2010 20:49
обработка ошибки, scanf(), Си. krwlr Помощь студентам 3 05.04.2010 16:58