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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2010, 16:03   #1
Alexey!
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 18
По умолчанию Отладить пользовательскую функцию

Здравствуйте.

Необходимо отладить неверно работающую пользовательскую функцию сортировки. Установка BreakPoint в теле функции должна остановить её для отладки, однако этого не происходит.

Могли бы Вы просмотреть мой пример и указать на ошибки? Заранее спасибо за ответы.
Вложения
Тип файла: rar Сортировать.rar (7.3 Кб, 10 просмотров)
Alexey! вне форума Ответить с цитированием
Старый 15.04.2010, 16:27   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

начните исправления с этого:
Public Function Sorting(A As Long)
Public Function Sorting(A As Range)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 15.04.2010, 16:29   #3
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Код:
Public Function Sorting(A As Range)
    Dim i As Integer, j As Integer, buf As Long, Minn As Integer, avArr
    'сортировка по убыванию выбором элемента
    avArr = Application.Transpose(A)
    For i = 1 To A.Rows.Count
        Minn = i
        For j = i + 1 To A.Rows.Count
            If avArr(i) < avArr(j) Then Minn = j
            buf = avArr(i)
            avArr(i) = avArr(Minn)
            avArr(Minn) = buf
        Next j
    Next i
    Sorting = A
End Function
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 15.04.2010, 17:03   #4
Alexey!
Пользователь
 
Регистрация: 15.04.2010
Сообщений: 18
По умолчанию

Спасибо за ответ! Буду изучать. Почему для моего первоначального враианта не работает точка останова?
Alexey! вне форума Ответить с цитированием
Старый 15.04.2010, 17:25   #5
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от Alexey! Посмотреть сообщение
Почему для моего первоначального враианта не работает точка останова?
Потому что передавали неверный аргумент в функцию - A As Long, а надо A As Range(как Вам и писал IgorGO).
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите отладить программу twiss Помощь студентам 1 21.10.2009 23:40
разбить программу на функции main и пользовательскую функцию Ferghost Общие вопросы C/C++ 2 31.05.2009 18:15
Нужно отладить программу Killdgedan Помощь студентам 2 24.05.2009 14:50
Помогите отладить программу. TheKnyazz Паскаль, Turbo Pascal, PascalABC.NET 21 26.11.2008 17:51