|
|
|
Как передать параметр в ActiveCell.FormulaR1C1
|
|||
|---|---|---|---|
|
#18+
Добрый день всем! Подскажите, пожалуйста, как подставить параметр в формулу? Это СУММПРОИЗВ ActiveCell.FormulaR1C1 = _ "=SUMPRODUCT((RC[-7]=Лист1!R[-1]C[-9]:R[700]C[-9])*(RC[-9]=Лист1!R[-1]C[-8]:R[700]C[-8])*Лист1!R[-1]C[-7]:R[700]C[-7])" из Листа1 подтягиваются значения на текущий лист по 2 условиям. Мне надо это делать в макросе и подставлять значения в формулу, то есть диапазон R[700] меняется! Допустим это параметр z, который вычислен ранее. Если подставлять напрямую ActiveCell.FormulaR1C1 = _ "=SUMPRODUCT((RC[-7]=Лист1!R[-1]C[-9]:R[700]C[-9])*(RC[-9]=Лист1!R[-1]C[-8]:R["&z&" ]C[-8])*Лист1!R[-1]C[-7]:R["&z&" ]C[-7])" то так не работает Подскажите, пожалуйста!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2009, 15:33:41 |
|
||
|
Как передать параметр в ActiveCell.FormulaR1C1
|
|||
|---|---|---|---|
|
#18+
lenysik, А у вас переменная z типа string или не string? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2009, 05:06:09 |
|
||
|
Как передать параметр в ActiveCell.FormulaR1C1
|
|||
|---|---|---|---|
|
#18+
Infinity Creator, В переменной хочу передать кол-во строк, там же диапазон надо указать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2009, 11:26:22 |
|
||
|
Как передать параметр в ActiveCell.FormulaR1C1
|
|||
|---|---|---|---|
|
#18+
А так: ActiveCell.FormulaArray = _ "=SUMPRODUCT((RC[-7]=Лист1!R[-1]C[-9]:R[700]C[-9])*(RC[-9]=Лист1!R[-1]C[-8]:R["&z&" ]C[-8])*Лист1!R[-1]C[-7]:R["&z&" ]C[-7])" Работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2009, 15:01:51 |
|
||
|
Как передать параметр в ActiveCell.FormulaR1C1
|
|||
|---|---|---|---|
|
#18+
ТаранагаА так: ActiveCell.FormulaArray = _ "=SUMPRODUCT((RC[-7]=Лист1!R[-1]C[-9]:R["&z&"]C[-9])*(RC[-9]=Лист1!R[-1]C[-8]:R["&z&" ]C[-8])*Лист1!R[-1]C[-7]:R["&z&" ]C[-7])" Работает? Да, спасибо, так работает, только еще столкнулась с проблемой, не знаю как зафиксировать диапазон, чтобы продлить на другие ячейки, т.е. надо чтобы получилось такое =СУММПРОИЗВ((D2=ТВП!$B$1:$B$704)*(B2=ТВП!$C$1:$C$704)*ТВП!$D$1:$D$704) Как в этом виде зафиксировать при продлении диапазон? ActiveCell.FormulaArray = _ "=SUMPRODUCT((RC[-7]=Лист1!R[-1]C[-9]:R["&z&"]C[-9])*(RC[-9]=Лист1!R[-1]C[-8]:R["&z&" ]C[-8])*Лист1!R[-1]C[-7]:R["&z&" ]C[-7])" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2009, 16:52:09 |
|
||
|
Как передать параметр в ActiveCell.FormulaR1C1
|
|||
|---|---|---|---|
|
#18+
пишем эту формулу в листе ексель. затем: сервис - параметры - общие - стиль ссылокR1C1 = True и, о чудо! видем надпись в нужном формате в искомой ячейке. Просто копируем ее в ВБА. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2009, 16:57:19 |
|
||
|
Как передать параметр в ActiveCell.FormulaR1C1
|
|||
|---|---|---|---|
|
#18+
Taranaga, Я не это имела ввиду. Когда вот таким способом продлеваю эту формулу на другие ячейки Range("K2").Select Selection.AutoFill Destination:=Range("K2:K" & kkf & ""), Type:=xlFillDefault Range("K2:K" & kkf & "").Select Если первая строка с правильным диапазоном =СУММПРОИЗВ((D2=ТВП!B1:B704)*(B2=ТВП!C1:C704)*ТВП!D1:D704) то вторая уже нет =СУММПРОИЗВ((D3=ТВП!B2:B705)*(B3=ТВП!C2:C705)*ТВП!D2:D705) Как этого избежать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2009, 17:18:38 |
|
||
|
Как передать параметр в ActiveCell.FormulaR1C1
|
|||
|---|---|---|---|
|
#18+
Просто Ваша формула: "=SUMPRODUCT((RC[-7]=Лист1!R[-1]C[-9]:R["&z&"]C[-9])*(RC[-9]=Лист1!R[-1]C[-8]:R["&z&" ]C[-8])*Лист1!R[-1]C[-7]:R["&z&" ]C[-7])" не является аналогом формулы: =СУММПРОИЗВ((D2=ТВП!$B$1:$B$704)*(B2=ТВП!$C$1:$C$704)*ТВП!$D$1:$D$704) Наверное нужно просто переписать формулу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2009, 18:39:24 |
|
||
|
Как передать параметр в ActiveCell.FormulaR1C1
|
|||
|---|---|---|---|
|
#18+
Вот так вроде пашет: "=SUMPRODUCT((R[-7]C[-1]=ТВП!R1C2:R" & z & "C2)*(R[-7]C[-3]=ТВП!R1C3:R" & z & "C3)*ТВП!R1C4:R" & z & "C4)" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2009, 18:44:57 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=35972866&tid=2179494]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
181ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 178ms |
| total: | 412ms |

| 0 / 0 |
