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

Вход

Регистрация

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

 

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

Старая форма входа
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отладка пользовательской функци (Функции/Function)
Отладка пользовательской функци
Bamboo Дата: Пятница, 25.03.2016, 19:53 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 107
Репутация: 0 ±
Замечаний: 0% ±

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
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

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


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


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

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

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

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

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

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

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

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

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

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

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
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

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


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

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

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

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

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

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

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
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

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

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


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


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

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

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

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


excel@nxt.ru
webmoney: E265281470651 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
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 107
Репутация: 0 ±
Замечаний: 0% ±

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

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

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


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


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

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

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

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

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


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеИли кликом мышою на левом поле (сером) .

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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