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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.11.2008, 21:03   #1
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию Помтогите исправить ошибку с поиском

Код:

Private Sub CommandButton2_Click()
result = Cells.Find(TextBox1, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
        
     If Not result Then
       MsgBox "nothing is find, try again ;-)", vbInformation
       Exit Sub
    Else
     With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorDark1
        .TintAndShade = -0.349986266670736
        .PatternTintAndShade = 0
    End With
    End If
End Sub
суть такова
когда вводиш дание которих нет виводит ран таайм ерор (91)
дание вводяться з тексбокста
rUs_LAN вне форума
Старый 28.11.2008, 21:29   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

А замените-ка это
If Not result Then
на это
If result is Nothing Then

Я так понимаю, что сообщения о том, что ничего не найдено никогда не появлялось. правильно?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 29.11.2008, 08:45   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

result = Cells.Find(...........).Activate

То есть если в ячейке обнаруживался исходный текст, то переменной result присваивалось значение True.
Если же искомое значение отсутствовало, возникала ошибка при попытке активации отсутствующей ячейки...

Если убрать Activate, код работает, причём появляется сообщение "nothing is find, try again ;-)"
В этом случае в переменную result попадает текстовое значение содержимого первой найденной ячейки.


Вот в таком виде код будет работать:
Код:
Private Sub CommandButton2_Click()
    Set result = Cells.Find(TextBox1, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
                            xlPart, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)

    If result Is Nothing Then
        MsgBox "nothing is find, try again ;-)", vbInformation
        Exit Sub
    Else
        With result.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = vbRed

            '.ThemeColor = xlThemeColorDark1
            '.TintAndShade = -0.349986266670736
            '.PatternTintAndShade = 0
        End With
    End If
End Sub
Причем такие свойства у объекта range.Interior, как

.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.349986266670736
.PatternTintAndShade = 0


в Excel 2003 я не обнаружил...
EducatedFool вне форума
Старый 29.11.2008, 11:40   #4
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

спасибо большое
З.Ы. ети свойства есть в ексель 2007
rUs_LAN вне форума
Закрытая тема


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно исправить ошибку TheVenny Помощь студентам 17 06.11.2008 16:26
Помогите исправить ошибку artem_MG Паскаль, Turbo Pascal, PascalABC.NET 4 27.10.2008 17:42
Исправить ошибку LLIypLLIyH Помощь студентам 5 16.06.2008 16:50
Помогите исправить ошибку Булат Общие вопросы Delphi 3 25.04.2008 10:01
помогите исправить ошибку. alen666 Паскаль, Turbo Pascal, PascalABC.NET 11 08.03.2008 16:43