Заполнение ячеек с формулами через макрос

Программирование на Visual Basic for Applications
n!ghtmare*
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.07.2003 (Ср) 7:09

Заполнение ячеек с формулами через макрос

Сообщение n!ghtmare* » 02.07.2003 (Ср) 7:14

При ручном заполнении ошибки не происходит, но если вводить через команду range выдает ошибку. Как поступить?

Код: Выделить всё
=ЕСЛИ(D4-Данные!$E$15<0;ВПР((D4-Данные!$E$15+360);ДН!$A$32:$B$104;2);ВПР(D4-Данные!$E$15;ДН!$A$32:$B$104;2))

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.07.2003 (Ср) 8:14

Код: Выделить всё
ActiveCell.Formula = "=if(D4-Данные!$E$15<0,vlookup((D4-Данные!$E$15+360),ДН!$A$32:$B$104,2),vlookup(D4-Данные!$E$15,ДН!$A$32:$B$104,2))"
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

n!ghtmare*
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.07.2003 (Ср) 7:09

Спасиба

Сообщение n!ghtmare* » 02.07.2003 (Ср) 8:22

И вообще, какие существуют различия в формулах, написанных в ручную и через макрос.
Например, вот что я пока понял
1)Русские названия функций меняются на английские
2)запятая это точка
3); это ,
Последний раз редактировалось n!ghtmare* 02.07.2003 (Ср) 8:49, всего редактировалось 3 раз(а).

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.07.2003 (Ср) 8:37

C:\Program Files\Microsoft Office\Office\Funcs.xls
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

n!ghtmare*
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.07.2003 (Ср) 7:09

?

Сообщение n!ghtmare* » 02.07.2003 (Ср) 8:50

Какие еще отличия, кроме тех которые я привел?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.07.2003 (Ср) 8:59

Да, в общем, и всё. Английские названия, аргументы через запятую, десятичная точка. Операторы пересечения и объединения множеств те же - пробел и амперсанд. Формулы массива вводятся через FormulaArray.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

n!ghtmare*
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.07.2003 (Ср) 7:09

!

Сообщение n!ghtmare* » 02.07.2003 (Ср) 9:32

Сделайте транслятор, кому не лень :D

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 02.07.2003 (Ср) 9:35

Уже.
Сервис-Запись макроса :arrow: Вводим формулу вручную :arrow: Останавливаем запись :arrow: Имеем готовый результат
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

n!ghtmare*
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.07.2003 (Ср) 7:09

Не подходит

Сообщение n!ghtmare* » 02.07.2003 (Ср) 11:34

Там ячейку указываются тупо
K4 = R[-21]C[-6]
$F$15 = R15C6
Попробуй потом разберись что к чему
Вопрос на смекалку R15C198 это какая ячейка :D

corgi
ToyMan
ToyMan
 
Сообщения: 1367
Зарегистрирован: 01.10.2002 (Вт) 9:59
Откуда: Россия, Москва

Сообщение corgi » 02.07.2003 (Ср) 11:47

GP15 - устроит :?: :D
не тупо а просто существует много адресаций относительная и тп и надо просто один раз понять а потом все просто
Ничто так не ограничивает полёт мысли программиста, как компилятор

n!ghtmare*
Начинающий
Начинающий
 
Сообщения: 19
Зарегистрирован: 02.07.2003 (Ср) 7:09

!

Сообщение n!ghtmare* » 02.07.2003 (Ср) 11:55

Понимать то я понимаю, только читать это в коде программы трудно, чтобы править...


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 25

    TopList