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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2009, 11:44   #11
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Ошибка возникает из-за того, что в функциях отсутствуют ссылки на рабочий лист. Замените функции на следующие:
Код:
Function CountNum(Диапазон As Range, Значение) As Long
    CountNum = Application.CountIf(Диапазон, Значение)
End Function

Function Last10(Диапазон As Range, Значение) As Long
    Dim r As Long
    With Диапазон.Parent
        r = .Cells(Rows.Count, Диапазон.Column).End(xlUp).Row
        If r > 10 Then Last10 = Application.CountIf(Intersect(Диапазон, .Rows(r - 9 & ":" & r)), Значение) _
            Else Last10 = Application.CountIf(Диапазон, Значение)
    End With
End Function

Function StrNum(Диапазон As Range, Значение) As String
    Dim x As New Collection
    With Диапазон.Parent
        For Each Cell In Intersect(.UsedRange, Диапазон)
            If Cell.Value = Значение Then
                On Error Resume Next: x.Add Cell.Row, CStr(Cell.Row)
                If Err = 0 Then StrNum = StrNum & ", " & Cell.Row Else On Error GoTo 0
            End If
        Next
        If StrNum <> "" Then StrNum = Right(StrNum, Len(StrNum) - 2)
    End With
End Function
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывести число, предшествующее первому отрицательному и число, следующее за последним отрицательным Rid Паскаль, Turbo Pascal, PascalABC.NET 4 22.12.2008 16:50
Найти и вывести все слова,у котоpых число гласных букв пpевышает число согласных. Briz Помощь студентам 2 11.05.2008 00:56
Ввести число N и определить делится ли оно без остатка на число M (VBA) Ivanich Microsoft Office Excel 7 24.04.2008 19:43
Загадка Эйнштейна BanDit Свободное общение 11 02.03.2008 10:22