Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / проблема с динамической формулой проверки данных VBA / 8 сообщений из 8, страница 1 из 1
28.06.2016, 12:51
    #39263674
DLev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с динамической формулой проверки данных VBA
Проблема кроется в переодическом вылете на строке formula1:= str_formula


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub Get_Question_list(CAT_name, cell_name_list_create)
Dim str_formula As String
str_formula = "=OFFSET(" & CAT_name & "!$B$3;;;COUNTA(" & CAT_name & "!$B:$B))"
Range(cell_name_list_create).Select
    With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, Operator:=xlBetween, AlertStyle:=xlValidAlertStop, Formula1:= _
    str_formula
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = "Choose Question"
    End With
End Sub

Модератор: Учимся использовать тэги оформления кода - FAQ

заранее спасибо
...
Рейтинг: 0 / 0
28.06.2016, 13:51
    #39263800
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с динамической формулой проверки данных VBA
DLevПроблема кроется в пери одическом вылете на строке formula1:= str_formula
Вообще-то это строка, где вызывается метод Add объекта Selection.Validation. И неплохо было бы в этот момент видеть значения ВСЕХ передаваемых методу параметров. А также точно знать, что в этот момент есть Selection, что за Range подвергается .Select, где он расположен... Да и типы параметров процедуры нефигово бы указать явно.
...
Рейтинг: 0 / 0
28.06.2016, 14:49
    #39263880
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с динамической формулой проверки данных VBA
DLev,

Код: vbnet
1.
str_formula = "=OFFSET(" & CAT_name & "!$B$3;;;COUNTA(" & CAT_name & "!$B:$B))"


так неверно. Для англ.локали разделитель аргументов - запятая:
Код: vbnet
1.
str_formula = "=OFFSET(" & CAT_name & "!$B$3,,,COUNTA(" & CAT_name & "!$B:$B))"
...
Рейтинг: 0 / 0
29.06.2016, 04:02
    #39264356
DLev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с динамической формулой проверки данных VBA
The_Prist,
Спасибо добрый человек, в след раз явно надо учиться пользоваться английскими источниками, раз работаю на английском софте.
Проблема решена, всем спасибо.
Рабочий код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub Get_Question_list(CAT_name, cell_name_list_create)
Dim str_formula As String
str_formula = "=OFFSET(" & CAT_name & "!$B$3,,,COUNTA(" & CAT_name & "!$B:$B))"
Range(cell_name_list_create).Select
    With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, Operator:=xlBetween, AlertStyle:=xlValidAlertStop, Formula1:= _
    str_formula
    .IgnoreBlank = True
    .InCellDropdown = True
    .InputTitle = "Choose Question"
    End With
End Sub
...
Рейтинг: 0 / 0
30.06.2016, 06:41
    #39265134
DLev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с динамической формулой проверки данных VBA
Если все же еще может кто разобраться, теперь он у меня опять вылетает, но стоят запятые, сменил на ; стало работает. от чего это может зависеть? от фазы луны?
...
Рейтинг: 0 / 0
30.06.2016, 07:29
    #39265141
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с динамической формулой проверки данных VBA
DLevЕсли все же еще может кто разобраться, теперь он у меня опять вылетает, но стоят запятые, сменил на ; стало работает. от чего это может зависеть? от фазы луны?

часто зависит от системных разделителей целой/дробной части
...
Рейтинг: 0 / 0
30.06.2016, 07:30
    #39265142
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с динамической формулой проверки данных VBA
и ит галочки --применять ли системные разделители
...
Рейтинг: 0 / 0
30.06.2016, 11:50
    #39265343
DLev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с динамической формулой проверки данных VBA
может можно как то в коде указать что он не прав? я сохранил документ, утром включаю ошибка из-за запятых, в вечером из-за точки запятой. сегодня проверю опять
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / проблема с динамической формулой проверки данных VBA / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]