Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> помогите! уперся... ввод формулы в ячейку 
V
    Опции темы
anvo
Дата 22.10.2007, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



Помогите разобраться smile 

сделал вначале так и работает
Код

Dim s As Range
    For Each s In Range("E2:E55")
  '      s.FormulaLocal = "=ÈÍÄÅÊÑ(Àðòèêóë;ÏÎÈÑÊÏÎÇ(Äîïòîâàð;Òîâàð;0))"

         s.FormulaLocal = "=ИНДЕКС(Артикул;ПОИСКПОЗ(Доптовар;Товар;0))"
    Next


Решил ввести проверку на непустую ячейку:
Код

Dim s As Range
    For Each s In Range("E2:E55")
 '       s.FormulaLocal = "=ÅÑËÈ(Äîïòîâàð<>"";ÈÍÄÅÊÑ(Àðòèêóë;ÏÎÈÑÊÏÎÇ(Äîïòîâàð;Òîâàð;0));"")"

         s.FormulaLocal = "=ЕСЛИ(Доптовар<>0;ИНДЕКС(Артикул;ПОИСКПОЗ(Доптовар;Товар;0));"")"
    Next


вылетает с ошибкой  smile 
 Но при этом при  вводе ручками в ячейки диапазона:
=ЕСЛИ(Доптовар<>0;ИНДЕКС(Артикул;ПОИСКПОЗ(Доптовар;Товар;0));"")

формула работает
 
в чем засада?!!! 
и почему текст съехал при копировании кода из MVB, пришлось заново руками ввести?
PM MAIL   Вверх
Naghual
Дата 22.10.2007, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 7
Всего: 49



Засада в двойных кавычках.
Напиши их 4 штуки подряд вместо двух.

Копировать и вставлять код нужно было при русской раскладке


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
anvo
Дата 23.10.2007, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



О каких кавычках речь?
попробовал выполнить совет, но не помогло smile 

ткни пальцем!

Про раскладку понял, сенк-с
PM MAIL   Вверх
Naghual
Дата 23.10.2007, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 7
Всего: 49



Код

s.FormulaLocal = "=ЕСЛИ(Доптовар<>0;ИНДЕКС(Артикул;ПОИСКПОЗ(Доптовар;Товар;0));"""")"



--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
anvo
Дата 23.10.2007, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



Не правда ваша

Код

  For Each s In Range("E2:E55")
        s.FormulaLocal = "=ЕСЛИ(Доптовар<>"";ИНДЕКС(Артикул;ПОИСКПОЗ(Доптовар;Товар;0));"""")"
'        s.FormulaLocal = "=ИНДЕКС(Артикул;ПОИСКПОЗ(Доптовар;Товар;0))"
    Next


вылетает с ошибкой error '1004' application-defined or object-defined error smile 

видимо, ждать-с мудрого утра
PM MAIL   Вверх
Naghual
Дата 23.10.2007, 00:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

Репутация: 7
Всего: 49



А с какой ошибкой вылетал до этого?
Ты же не уточнил.


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Genyaa
Дата 23.10.2007, 07:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Усердный
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.9.2006
Где: Москва

Репутация: 2
Всего: 11



Цитата(anvo @  23.10.2007,  01:49 Найти цитируемый пост)
  
Код

For Each s In Range("E2:E55")
        s.FormulaLocal = "=ЕСЛИ(Доптовар<>"""";ИНДЕКС(Артикул;ПОИСКПОЗ(Доптовар;Товар;0));"""")"
'        s.FormulaLocal = "=ИНДЕКС(Артикул;ПОИСКПОЗ(Доптовар;Товар;0))"
    Next


Вам нужно понять сам принцип... Чтобы в строковую константу (заключаемую в коде в двойные кавычки) вписать сами двойную кавычку нужно вписать в константу двойной символ двойной кавычки:

а = "константа"  - а будет содерждать строку - константа
а = "конст""анта" - а будет содержать - конст"анта

Интерпретатор VBA, просматривая строку кода, полагает, что первая двойная кавычка начинает строковую константу, далее если встречаются парные символы двойной кавычки - он преобразует их в двойную кавычку в самой константе, и т.д. пока не наткнется на одну двойную кавычку, которую посчитает за конец строковой константы, после которой в строке не должно быть кода или должен идти оператор языка, символ продолжения строки или начало коментария (одинарная кавычка). В противном случае будет ошибка.
--------------------
Всякое решение плодит новые проблемы.
PM WWW   Вверх
anvo
Дата 23.10.2007, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 27.6.2006

Репутация: нет
Всего: нет



2 Genyaa и Naghual !
Спасибо! Работает. спасибо за пояснения  smile 
PM MAIL   Вверх
mihanik
Дата 2.11.2007, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Модератор: 
Не забываем помечать решённым!!!


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.