Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Перерасчет формулы / 7 сообщений из 7, страница 1 из 1
19.09.2006, 13:50:30
    #33996714
qwew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перерасчет формулы
Вообщем пытаюсь формулу засунуть в ячейку... а как ее теперь посчитать?
а то она как текст, а если мышка в ячейку щелкнуть... то все нормально получается....
a.Workbooks(month).Worksheets("rep_old").Cells(i%, 13).FormulaR1C1 = "=ВПР(Лист1!A" & i% & ";wh_org!A1:B227;2;Ложь)"
...
Рейтинг: 0 / 0
19.09.2006, 14:13:04
    #33996813
Дмит
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перерасчет формулы
Судя по формуле тебе необходимо использовать .FormulaLocal, а не .FormulaR1C1
...
Рейтинг: 0 / 0
19.09.2006, 14:17:18
    #33996827
Andrew P
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перерасчет формулы
Не помогает, все абсолютно тоже самое.. я вроде и Calculate пробовал... и все равно...
...
Рейтинг: 0 / 0
19.09.2006, 14:18:56
    #33996838
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перерасчет формулы
qwewВообщем пытаюсь формулу засунуть в ячейку... а как ее теперь посчитать?
а то она как текст, а если мышка в ячейку щелкнуть... то все нормально получается....
a.Workbooks(month).Worksheets("rep_old").Cells(i%, 13).FormulaR1C1 = "=ВПР(Лист1!A" & i% & ";wh_org!A1:B227;2;Ложь)"

Привет qwew,

Формулы в Excel (VBA) вводят так:

1) свойство .Formula
на англ. в формате А1

2) свойство .Value
на англ. в формате А1

3) свойство .FormulaR1C1
на англ. в формате R1C1

4) свойство .FormulaLocal
на русс. в формате A1

5) свойство .FormulaR1C1Local
на русс. в формате R1C1

т.ч. твой пример должен выглядеть так:

.Value = "=VLOOKUP(Лист1!A" & i% & ",wh_org!A1:B227,2,FALSE)
.Formula = "=VLOOKUP(Лист1!A" & i% & ",wh_org!A1:B227,2,FALSE)
.FormulaR1C1 = "=VLOOKUP(Лист1!R" & i% & "C1,wh_org!R1C1:R227C2,2,FALSE)
.FormulaLocal = "=ВПР(Лист1!A5;wh_org!A1:B227;2;ЛОЖЬ)
.FormulaR1C1Local = "=ВПР(Лист1!R" & i% & "C1;wh_org!R1C1:R227C2;2;ЛОЖЬ)

Для ввода матричной формулы используй:
.FormulaArray = "=VLOOKUP(Лист1!A5,wh_org!A1:B227,2,FALSE)
...
Рейтинг: 0 / 0
19.09.2006, 14:24:26
    #33996858
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перерасчет формулы
В локальных формулах еще важно использовать правильный системный разделитель параметров. А Calculate - это ошибочный путь.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
19.09.2006, 14:38:30
    #33996928
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перерасчет формулы
кстати, если счетчик i% последовательный, то нет нужды перелопачивать весь ранг - достаточно сделать след.:

Код: plaintext
1.
2.
3.
4.
5.
6.
Sub test4()
    i =  2 : x =  10 
    With Workbooks("Книга1.xls").Worksheets("rep_old")
        .Range(.Cells(i,  13 ), .Cells(x,  13 )).FormulaR1C1 = _
            "=VLOOKUP(Лист1!R[4]C1,wh_org!R1C1:R227C2,2,FALSE)"
    End With
End Sub


KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
19.09.2006, 14:40:43
    #33996935
Andrew P
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перерасчет формулы
Большое спасибо!!! все получилось:)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Перерасчет формулы / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]