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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2011, 19:17   #1
Xenta
 
Регистрация: 24.05.2009
Сообщений: 3
По умолчанию Функция

Надо срочно добавить в функцию тип ошибки чтобы при вводе буквы выдавал ошибкую Что тут надо поменять?
Код:
Function error() As Integer
    
        Dim err  As Integer
    Dim extent As Integer
    
    
    
    
    err = 0
    extent = Worksheets("Лист1").Range("A6").Value
    
    
    If extent < 2 Or extent > 6 Then
        Worksheets("Лист1").Cells(6, 1).Borders.Color = RGB(200, 160, 35)
        
        err = 1
    End If
    
     
     
     
    
        If err = 0 Then
        For i = 0 To extent - 1
            For j = 0 To extent - 1
                If Worksheets("Лист1").Cells(i + 8, j + 1).Value = "" Then
                    Worksheets("Лист1").Cells(i + 8, j + 1).Borders.Color = RGB(200, 160, 35)
                    err = 1
                End If
            Next j
        Next i
    End If
    
    If err = 0 Then
        Worksheets("Лист1").Cells(6, 1).Borders.Color = RGB(192, 192, 192)
        
        For i = 0 To 5
            For j = 0 To 5
                Worksheets("Лист1").Cells(i + 8, j + 1).Borders.Color = RGB(192, 192, 192)
            Next j
        Next i
    End If
    
    If err = 1 Then
        MsgBox "Ошибка ввода"
    End If
    
    error = err

End Function

Последний раз редактировалось Xenta; 31.01.2011 в 19:19.
Xenta вне форума Ответить с цитированием
Старый 31.01.2011, 19:31   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

у Вас "удачное решение" назвать переменую Dim err As Integer так же как уже назван обьект в ВБА.
...
On Error Resume Next
extent = Worksheets("Лист1").Range("A6").Val ue
If Err.Number > 0 Then ' Это ваще не число
...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 31.01.2011, 19:54   #3
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Не говоря уже о том, что формула не может изменять ячейки(цвет,шрифт, границы и т.д.). Формула только возвращает значение.
Не уверен, но может Вам Это нужно:
Код:
Public Function mNumber(n#) As String
       If IsNumeric(n) Then mNumber = "Правильно"
End Function
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 31.01.2011 в 20:04.
kuklp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция shok.92 Помощь студентам 0 03.12.2010 18:50
Функция MilenaR Помощь студентам 5 10.05.2010 20:43
функция Dialon Помощь студентам 4 02.02.2009 23:15
Функция в c++ JOFRIF Помощь студентам 1 08.05.2008 18:30
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50