Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Простая формула, а не работает Добавлено: 05.01.06 12:18  

Автор вопроса:  sonix
Все элементарно до безобразия.. В ячейку тупо вставляется формула.
Похожие конструкции работают, а эта нет..
Приведу промежуточные результаты используемые в формуле (хотя по большему счету они не должны влиять на ее работоспособность). Имя книги Расч_100.xls (а вообще есть много файлов (Расч_) с разными номерами).:

Берем из книги ее номер (в данном случае 100)
FNom = Left(Right(ThisWorkbook.Name, 7), 3)
KartPath = "[kart_" & FNom & ".xls]Карточка!"

Ошибка вылетает на этом этапе:
Здесь всталяется формула ссылающаяся на kart_100.xls:

Cells(2, 3).Formula = "=если(" & KartPath & "C31="""";"""";" & KartPath & "C31)"
Cells(3, 3).Select
Пробовал через Cells(2, 3).value - тоже самое.

В итоге в ячейку вставляется ето значение, но без "=":
если([kart_100.xls]Карточка!C31="";"";[kart_100.xls]Карточка!C31)

Кто знает - прошу помочь. Очень нужно.

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 05.01.06 12:42
Formula задаёт формулу на английском языке.
Соответствие английский формул русским приведено в файле funcs.xls

Можно также использовать formulalocal, но работать будет только на русском экселе.

Ответить

Номер ответа: 2
Автор ответа:
 sonix



Вопросов: 1
Ответов: 1
 Профиль | | #2 Добавлено: 05.01.06 15:30

Поменял на англ. формулы - не пошло.
А вот с formulalocal заработало.
БОЛЬШЕЕ спасибо.

Ответить

Номер ответа: 3
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #3 Добавлено: 05.01.06 15:58
Не пошло потому, что надо ещё аргументы разделять запятыми, а не ;, и вообще, там всё как в языке программирования, независимо от локали.

А твой код сдуется не только на компе с нерусским экселем, но даже на компе, где ";" не стоит разделителем элементов списка...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам