Страницы: 1
RSS
программное создание проверки данных - разночтения на разных компах
 
With Range("g8").Validation  
               .Delete  
               .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertWarning, Operator _  
               :=xlBetween, Formula1:= _  
               "=G8/ЗНАЧЕН(ЛЕВСИМВ(F8;ПОИСК("" "";F8)-1))=ЦЕЛОЕ(G8/ЗНАЧЕН(ЛЕВСИМВ(F8;ПОИСК("" "";F8)-1)))"  
               .IgnoreBlank = True  
               .InCellDropdown = True  
               .InputTitle = ""  
               .ErrorTitle = "Внимание"  
               .InputMessage = _  
               "Заказывайте товар" & Chr(10) & "          СТРОГО " & Chr(10) & "в соответствии с количествами," & Chr(10) & " указанными в колонке" & Chr(10) & "       КРАТНОСТЬ" & Chr(10) & "    (первое число)."  
               .ErrorMessage = _  
               "Вы вводите количество," & Chr(10) & " некратное минимальному." & Chr(10) & " Пожалуйста, обратите" & Chr(10) & " внимание на цифры в колонке " & Chr(10) & "кратность, особенно на первую." & Chr(10) & "вторая - количество в упаковке," & Chr(10) & " - дана для справки."  
               .ShowInput = False  
               .ShowError = True  
               .Parent.Copy  
           End With  
 
на одном компе работает без ошибок, на другом спотыкается на операции .add  
 
офис и там и там русский 2003
Живи и дай жить..
 
слэн, не уверен, но мне кажется я сталкивался с переопределением встроенных констант excel. Попробуйте заменить их на числовые литералы.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Еще могу посоветовать (правда не знаю, каким боком оно должно помочь):  
- убрать перевод строки _  
- попробовать заменить русскоязычные формулы на англоязычные  
- убрать точки с запятой из формул и заменить их на запятые. Хотя здесь не уверен. С формулами редко работаю.
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


https://github.com/nervgh
 
Так:  
.Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertWarning, Operator _  
:=xlBetween, Formula1:= _  
"=G8/VALUE(LEFT(F8,SEARCH("" "",F8)-1))=INT(G1/VALUE(LEFT(F8,SEARCH("" "",F8)-1)))"
Я сам - дурнее всякого примера! ...
 
Неправильно циферку поставил:  
.Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertWarning, Formula1:= _  
"=G8/VALUE(LEFT(F8,SEARCH("" "",F8)-1))=INT(G8/VALUE(LEFT(F8,SEARCH("" "",F8)-1)))"  
И еще, если в F8 нет чисел, все равно выдаст ошибку.
Я сам - дурнее всякого примера! ...
 
переводить формулу пробовал..  
про константы - спасибо попробую..  
 
но доступ к тому компу не всегда, так что не сразу отпишусь  
 
 
задачу в принципе решил другим способом - создал проверку на своем компе(тут все работает), сохранил ее в  листе надстройки, оттуда уже копирую в прайс - копирование рулит
Живи и дай жить..
Страницы: 1
Наверх