Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Отладка пользовательской функци - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 3123»
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отладка пользовательской функци (Функции/Function)
Отладка пользовательской функци
Bamboo Дата: Пятница, 25.03.2016, 19:53 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Подскажите как запустить отладку пользовательской функции?
Не появляется желтая срока, соответственно RUN и F8 не работаю.
По F5 вызывается менюшка, но там этой функции нет и запустить нечего.


Сообщение отредактировал Bamboo - Пятница, 25.03.2016, 23:21
 
Ответить
СообщениеПодскажите как запустить отладку пользовательской функции?
Не появляется желтая срока, соответственно RUN и F8 не работаю.
По F5 вызывается менюшка, но там этой функции нет и запустить нечего.

Автор - Bamboo
Дата добавления - 25.03.2016 в 19:53
KuklP Дата: Пятница, 25.03.2016, 20:03 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1994
Репутация: 435 ±
Замечаний: 0% ±

Например обратиться к ней из макроса. Пошагово. Или в отладочном окне.
К сообщению приложен файл: 6870687.gif(23Kb)


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Пятница, 25.03.2016, 20:07
 
Ответить
СообщениеНапример обратиться к ней из макроса. Пошагово. Или в отладочном окне.

Автор - KuklP
Дата добавления - 25.03.2016 в 20:03
Bamboo Дата: Пятница, 25.03.2016, 20:07 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
KuklP, Вы имеет в виду в редакторе макросов? Так как раз там и не работает. Пошагово получается, только если ошибка возникает.
 
Ответить
СообщениеKuklP, Вы имеет в виду в редакторе макросов? Так как раз там и не работает. Пошагово получается, только если ошибка возникает.

Автор - Bamboo
Дата добавления - 25.03.2016 в 20:07
Kuzmich Дата: Пятница, 25.03.2016, 20:20 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 210
Репутация: 39 ±
Замечаний: 0% ±

Excel 2003
Цитата
Так как раз там и не работает

А точку останова вы поставили?
 
Ответить
Сообщение
Цитата
Так как раз там и не работает

А точку останова вы поставили?

Автор - Kuzmich
Дата добавления - 25.03.2016 в 20:20
Bamboo Дата: Пятница, 25.03.2016, 20:41 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Kuzmich, а что это такое?
 
Ответить
СообщениеKuzmich, а что это такое?

Автор - Bamboo
Дата добавления - 25.03.2016 в 20:41
Bamboo Дата: Пятница, 25.03.2016, 20:42 | Сообщение № 6
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
KuklP, Чтото не получается:
[vba]
Код
Public Sub www()
Dim n
n = Application.Run("Пользовательская функция", "Sheet6")
End Sub
[/vba]

Выдает:
Run-time Error 449:
Argument not optional
[moder]Повторное нарушение п.3 Правил форума (нет тегов). Замечание[/moder]


Сообщение отредактировал Pelena - Пятница, 25.03.2016, 21:06
 
Ответить
СообщениеKuklP, Чтото не получается:
[vba]
Код
Public Sub www()
Dim n
n = Application.Run("Пользовательская функция", "Sheet6")
End Sub
[/vba]

Выдает:
Run-time Error 449:
Argument not optional
[moder]Повторное нарушение п.3 Правил форума (нет тегов). Замечание[/moder]

Автор - Bamboo
Дата добавления - 25.03.2016 в 20:42
KuklP Дата: Пятница, 25.03.2016, 20:54 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1994
Репутация: 435 ±
Замечаний: 0% ±

Я стеклянный шар одолжил на недельку. Посему выкладывайте файл пример со своей функцией, или хотя бы текст самой функции(если она напрямую не связана с Вашими данными). И оформляйте код тегами, значок # в окне редактирования сообщений.


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеЯ стеклянный шар одолжил на недельку. Посему выкладывайте файл пример со своей функцией, или хотя бы текст самой функции(если она напрямую не связана с Вашими данными). И оформляйте код тегами, значок # в окне редактирования сообщений.

Автор - KuklP
Дата добавления - 25.03.2016 в 20:54
Kuzmich Дата: Пятница, 25.03.2016, 21:06 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 210
Репутация: 39 ±
Замечаний: 0% ±

Excel 2003
Цитата
а что это такое?

На рисунке, где подсвеченная желтым строка, слева стоит коричневая точка - это и есть точка останова
 
Ответить
Сообщение
Цитата
а что это такое?

На рисунке, где подсвеченная желтым строка, слева стоит коричневая точка - это и есть точка останова

Автор - Kuzmich
Дата добавления - 25.03.2016 в 21:06
Bamboo Дата: Пятница, 25.03.2016, 21:11 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
KuklP, Вот код функции, она не пока не вся, хотелось бы в процессе написания ее отлаживать:

[vba]
Код

Function HighLevACC(ACC, DistMapKey, DistMapData)
Dim vHLACC As Variant
Dim Array_DistMapKey() As Variant
Dim Array_DistMapData() As Variant
Dim Array_SubHLACC() As Variant

If ACC = "Empty" Then
HighLevACC = ACC.Offset(0, -1)

Array_DistMapKey = DistMapKey
Array_DistMapData = DistMapData

End Function#
[/vba]

Вот код макроса:

[vba]
Код
Public Sub www()
Dim n
n = Application.Run("HighLevACC", "Sheet6")
End Sub
[/vba]


Сообщение отредактировал Bamboo - Пятница, 25.03.2016, 21:16
 
Ответить
СообщениеKuklP, Вот код функции, она не пока не вся, хотелось бы в процессе написания ее отлаживать:

[vba]
Код

Function HighLevACC(ACC, DistMapKey, DistMapData)
Dim vHLACC As Variant
Dim Array_DistMapKey() As Variant
Dim Array_DistMapData() As Variant
Dim Array_SubHLACC() As Variant

If ACC = "Empty" Then
HighLevACC = ACC.Offset(0, -1)

Array_DistMapKey = DistMapKey
Array_DistMapData = DistMapData

End Function#
[/vba]

Вот код макроса:

[vba]
Код
Public Sub www()
Dim n
n = Application.Run("HighLevACC", "Sheet6")
End Sub
[/vba]

Автор - Bamboo
Дата добавления - 25.03.2016 в 21:11
KuklP Дата: Пятница, 25.03.2016, 21:17 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 1994
Репутация: 435 ±
Замечаний: 0% ±

Bamboo, вот он знак диеза :) Им оформляйте код.

А типа функцию я уже увидел в соседней теме. Там Вам и ответили. Функция должна возвращать значение, у Вас этого нет.
К сообщению приложен файл: 1260597.gif(19Kb)


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Пятница, 25.03.2016, 21:17
 
Ответить
СообщениеBamboo, вот он знак диеза :) Им оформляйте код.

А типа функцию я уже увидел в соседней теме. Там Вам и ответили. Функция должна возвращать значение, у Вас этого нет.

Автор - KuklP
Дата добавления - 25.03.2016 в 21:17
Hugo Дата: Пятница, 25.03.2016, 21:17 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2653
Репутация: 597 ±
Замечаний: 0% ±

"Sheet6" - это что: ACC, DistMapKey, или DistMapData? :)
Надеюсь поняли...
Да и коде end if куда-то потерялось.


excel@nxt.ru
webmoney: E265281470651 R418926282008 Z422237915069


Сообщение отредактировал Hugo - Пятница, 25.03.2016, 21:20
 
Ответить
Сообщение"Sheet6" - это что: ACC, DistMapKey, или DistMapData? :)
Надеюсь поняли...
Да и коде end if куда-то потерялось.

Автор - Hugo
Дата добавления - 25.03.2016 в 21:17
Bamboo Дата: Пятница, 25.03.2016, 21:20 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Kuzmich, А как точку останова поставить? Желтой строки у меня нет в функции. Когда макрос запускаешь она появляется.
 
Ответить
СообщениеKuzmich, А как точку останова поставить? Желтой строки у меня нет в функции. Когда макрос запускаешь она появляется.

Автор - Bamboo
Дата добавления - 25.03.2016 в 21:20
KuklP Дата: Пятница, 25.03.2016, 21:21 | Сообщение № 13
Группа: Проверенные
Ранг: Старожил
Сообщений: 1994
Репутация: 435 ±
Замечаний: 0% ±

как точку останова поставить?
F9 или щелчок по бортику слева.


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Пятница, 25.03.2016, 21:22
 
Ответить
Сообщение
как точку останова поставить?
F9 или щелчок по бортику слева.

Автор - KuklP
Дата добавления - 25.03.2016 в 21:21
Bamboo Дата: Пятница, 25.03.2016, 21:22 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Hugo, не понял (чайник я) :(
Лист6 это номер листа на котором находится функция. Пробовал без него, дает туже ошибку.
 
Ответить
СообщениеHugo, не понял (чайник я) :(
Лист6 это номер листа на котором находится функция. Пробовал без него, дает туже ошибку.

Автор - Bamboo
Дата добавления - 25.03.2016 в 21:22
StoTisteg Дата: Пятница, 25.03.2016, 21:23 | Сообщение № 15
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
Или кликом мышою на левом поле (сером) .


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
СообщениеИли кликом мышою на левом поле (сером) .

Автор - StoTisteg
Дата добавления - 25.03.2016 в 21:23
Kuzmich Дата: Пятница, 25.03.2016, 21:24 | Сообщение № 16
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 210
Репутация: 39 ±
Замечаний: 0% ±

Excel 2003
Цитата
А как точку останова поставить?

В редакторе в левой части (как на рисунке) щелкнуть мышкой.
Тогда при запуске макроса он остановится на этой строке
 
Ответить
Сообщение
Цитата
А как точку останова поставить?

В редакторе в левой части (как на рисунке) щелкнуть мышкой.
Тогда при запуске макроса он остановится на этой строке

Автор - Kuzmich
Дата добавления - 25.03.2016 в 21:24
KuklP Дата: Пятница, 25.03.2016, 21:24 | Сообщение № 17
Группа: Проверенные
Ранг: Старожил
Сообщений: 1994
Репутация: 435 ±
Замечаний: 0% ±

Bamboo, В Вашу функцию должны передаваться три параметра(переменные), а не имя листа. См. мой пример, там имя листа - это параметр функции.


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеBamboo, В Вашу функцию должны передаваться три параметра(переменные), а не имя листа. См. мой пример, там имя листа - это параметр функции.

Автор - KuklP
Дата добавления - 25.03.2016 в 21:24
Bamboo Дата: Пятница, 25.03.2016, 21:25 | Сообщение № 18
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
KuklP, Спасибо! Точка поставилась. Но функция не запускается, а макрос дает ошибку...
 
Ответить
СообщениеKuklP, Спасибо! Точка поставилась. Но функция не запускается, а макрос дает ошибку...

Автор - Bamboo
Дата добавления - 25.03.2016 в 21:25
Bamboo Дата: Пятница, 25.03.2016, 21:27 | Сообщение № 19
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
KuklP, т.е. в макросе вместо листа поставить любую из переменных функции? Не понимаю логики.
 
Ответить
СообщениеKuklP, т.е. в макросе вместо листа поставить любую из переменных функции? Не понимаю логики.

Автор - Bamboo
Дата добавления - 25.03.2016 в 21:27
StoTisteg Дата: Пятница, 25.03.2016, 21:27 | Сообщение № 20
Группа: Авторы
Ранг: Ветеран
Сообщений: 541
Репутация: 45 ±
Замечаний: 0% ±

Excel 2010
В Вашу функцию должны передаваться три параметра(переменные), а не имя листа

Для начала там If не закрыт...


Проверь всё. ThisWorkbook.Save. On Error Resume Next.
 
Ответить
Сообщение
В Вашу функцию должны передаваться три параметра(переменные), а не имя листа

Для начала там If не закрыт...

Автор - StoTisteg
Дата добавления - 25.03.2016 в 21:27
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отладка пользовательской функци (Функции/Function)
Страница 1 из 3123»
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!