Страница 4 из 4

Re: Диалоговое окно выбора диапазона

Добавлено: 09 дек 2008, 13:51
Pavel55
Попробуйте ещё так

Код: Выделить всё

Sub Test1()
Dim Rng As Range
    On Error Resume Next
    Set Rng = Application.InputBox("Укажите мышкой нужный диапазон", "Выбор диапазона", Selection.Address, , , , , 8)
    If Rng Is Nothing Then
        MsgBox "Вы не указали нужный диапазон!", 48, "Ошибка"
    End If
    MsgBox "Вы указали диапазон: " & Rng.Address(0, 0), , ""
End Sub

Re: Диалоговое окно выбора диапазона

Добавлено: 10 дек 2008, 12:07
VictorM
Pavel55, попробовал, все равно не работает и вылетает в "Вы не указали нужный диапазон!".
Задачу пришлось решить все же с помощью UserForm + RefEdit.

Re: Диалоговое окно выбора диапазона

Добавлено: 10 дек 2008, 13:09
heisnod
VictorM писал(а):Pavel55, попробовал, все равно не работает и вылетает в "Вы не указали нужный диапазон!".
Задачу пришлось решить все же с помощью UserForm + RefEdit.


У меня отработало без ошибок. Видимо проблема в Excel или его настройках.

Re: Диалоговое окно выбора диапазона

Добавлено: 10 дек 2008, 20:37
Aent
У меня то же приведённый Pavel55 код работает почти без ошибок
1) В примере не хватает exit sub внутри "If Rng Is Nothing Then"
2) У меня всегда определён Rng.
3) При выборе всего листа выводит "1:65536"
Excel 2003 rus SP3

Re: Диалоговое окно выбора диапазона

Добавлено: 10 дек 2008, 22:07
VictorM
heisnod, Aent, здесь вопрос не в самой процедуре. Да, она работает, как и вышеприведенные, но только не в моем файле )).
На чистом листе, без условного форматирования - все работает.
Проблема уже была описана выше, это документированный баг Excel.
Думаю тему можно уже закрыть.

Re: Диалоговое окно выбора диапазона

Добавлено: 11 дек 2008, 00:04
heisnod
Я уже и забыл, что у тебя там условное форматирование с формулой. Затянулось обсуждение сильно. Тема вроде раскрыта до конца.