Добрый день! Появилась необходимость, чтобы в таблице в некоторых ячейках данные были прописаны в виде формул. С помощью приемов по Excel написал простенький макрос, который выводит формулой в ячейках G2, G3 произведение количества из столбца F на Хар-ку 2 (Хар-ка 2 считается, используя ВПР из таблицы с именем "расценки", находящуюся на соседнем листе). Хотелось бы, чтобы часть формулы с ВПР выводилась сразу значением. Понимаю, что получилось довольно запутано, надеюсь в приложенном файле с примером все станет сразу понятно
То есть проще говоря в коде: [vba]
Код
Dim i As Byte For i = 2 To 3 Range("G" & i).FormulaLocal = "=ОКРУГЛ(F" & i & "*ВПР(C" & i & ";расценки;3;ЛОЖЬ);2)" Next End Sub
[/vba] нужно, чтобы часть "=ОКРУГЛ(F" & i & "*ВПР(C" & i & ";расценки;3;ЛОЖЬ) возвращала сразу значение, а не эту формулу, то есть чтобы в коде макроса было что-то вроде "=ОКРУГЛ(F" & i & "*ВПР(C" & i & ";расценки;3;ЛОЖЬ).VALUE. Тут просто не знаю как этот аналог VALUE прописать в коде
Добрый день! Появилась необходимость, чтобы в таблице в некоторых ячейках данные были прописаны в виде формул. С помощью приемов по Excel написал простенький макрос, который выводит формулой в ячейках G2, G3 произведение количества из столбца F на Хар-ку 2 (Хар-ка 2 считается, используя ВПР из таблицы с именем "расценки", находящуюся на соседнем листе). Хотелось бы, чтобы часть формулы с ВПР выводилась сразу значением. Понимаю, что получилось довольно запутано, надеюсь в приложенном файле с примером все станет сразу понятно
То есть проще говоря в коде: [vba]
Код
Dim i As Byte For i = 2 To 3 Range("G" & i).FormulaLocal = "=ОКРУГЛ(F" & i & "*ВПР(C" & i & ";расценки;3;ЛОЖЬ);2)" Next End Sub
[/vba] нужно, чтобы часть "=ОКРУГЛ(F" & i & "*ВПР(C" & i & ";расценки;3;ЛОЖЬ) возвращала сразу значение, а не эту формулу, то есть чтобы в коде макроса было что-то вроде "=ОКРУГЛ(F" & i & "*ВПР(C" & i & ";расценки;3;ЛОЖЬ).VALUE. Тут просто не знаю как этот аналог VALUE прописать в кодеHorned
Sub EMM() Dim i As Byte For i = 2 To 3 j = Application.VLookup(Range("c" & i).Value, Range("расценки"), 3, 1) Range("G" & i).FormulaLocal = "=ОКРУГЛ(F" & i & "*" & j & ";2)" Next End Sub
[/vba]
[vba]
Код
Sub EMM() Dim i As Byte For i = 2 To 3 j = Application.VLookup(Range("c" & i).Value, Range("расценки"), 3, 1) Range("G" & i).FormulaLocal = "=ОКРУГЛ(F" & i & "*" & j & ";2)" Next End Sub