Почему-то выдает ошибку
=AA7-СУММЕСЛИ(Z7:Z15;"";V7:V15)-СУММЕСЛИ(Z7:Z15;"";W7:W15)
То все нормально, а если сделать это в VB вот так:
S = Range("AA7").Formula
s1 = Mid(S, InStr(S, "V") + 1, InStr(S, ":") - InStr(S, "V") - 1)
s2 = Mid(S, InStr(S, "W") + 1, InStr(S, ")") - InStr(S, "W") - 1)
sf = "AA7-SUMIF(Z" & s1 & ":Z" & s2 & ";" _
& Chr(34) & Chr(34) & ";V" & s1 & ":V" & s2 & ")-SUMIF(Z" _
& s1 & ":Z" & s2 & ";" & Chr(34) & Chr(34) & ";W" & s1 & ":W" & s2 & ")"
Range("AB7").formula = sf
то ругается run-time ошибкой 1004. Как быть? Лопатить около 5 тысяч вот таких вот ячеек вручную - просто лень!!!
HELP!!!!
Народ, есть таблица, в двух столбцах которой, суммы, а в третьем № счета фактуры. Надо сделать четвертый столбец, чтобы у меня была отгузка, подтвержденная счетами фактурами. Если писать ручками в ячейку:
=AA7-СУММЕСЛИ(Z7:Z15;"";V7:V15)-СУММЕСЛИ(Z7:Z15;"";W7:W15)
То все нормально, а если сделать это в VB вот так:
S = Range("AA7").Formula
s1 = Mid(S, InStr(S, "V") + 1, InStr(S, ":") - InStr(S, "V") - 1)
s2 = Mid(S, InStr(S, "W") + 1, InStr(S, ")") - InStr(S, "W") - 1)
sf = "AA7-SUMIF(Z" & s1 & ":Z" & s2 & ";" _
& Chr(34) & Chr(34) & ";V" & s1 & ":V" & s2 & ")-SUMIF(Z" _
& s1 & ":Z" & s2 & ";" & Chr(34) & Chr(34) & ";W" & s1 & ":W" & s2 & ")"
Range("AB7").formula = sf
то ругается run-time ошибкой 1004. Как быть? Лопатить около 5 тысяч вот таких вот ячеек вручную - просто лень!!!
HELP!!!!
Ну, начнем с того, что формула начинается с =:
sf = "=AA7-...
Ну, начнем с того, что формула начинается с =:
sf = "=AA7-...
Блин!!! Это просто очепятка... Ессно, она начинается с = !!!!!!
Блин!!! Это просто очепятка... Ессно, она начинается с = !!!!!!
Так что, заработало?
Так что, заработало?
Если бы это заработало, то я бы не писал сюда изначально!!!
Если бы это заработало, то я бы не писал сюда изначально!!!
По-разному бывает...
Тогда сообщи, чему равно Range("AA7").Formula
(чтобы можно было проследить).
Если бы это заработало, то я бы не писал сюда изначально!!!
А у меня твой пример выдал ошибку №5 - в первом же s1 -> InStr(s, ":") - InStr(s, "V") стали равны 13-21, что соответственно сразу привело к ошибке.
При использовании такого количества InStr надо все очень хорошо расчитывать, чтобы получать реальные числа (там еще сдвигать начало сверки можно), ты все проверил...???
Честно говоря, я бы сделал это по другому, токо вот трудно понять зависимости твоих формул, а то ты все время обращаешься к предыдущей вбитой в ячейку формуле, а потом ее начинаешь анализировать и менять..., не проще ли сразу составлять нужную формулу на основании активной строки и т.д. (или у тебя каждая следующая формула зависит от предудыщей?) вообщем непонятен алгоритм формирования формул для последующих ячеек, ты бы привел бы пример несколько готовых заполненых ячеек (хотя бы по индукции тогда можно догадаться...)
С зависимостями - вообще сделал по-другому, а вот та формула, которая генерируется строкой, в ней вместо ";" в качестве разделителей параметров функции надо ставить ",".
Спасибо всем!!!