Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выводить часть формулы значением через макрос - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Выводить часть формулы значением через макрос
Horned Дата: Вторник, 01.08.2023, 14:34 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Добрый день! Появилась необходимость, чтобы в таблице в некоторых ячейках данные были прописаны в виде формул. С помощью приемов по 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 прописать в коде
К сообщению приложен файл: 1005734.xlsm (22.5 Kb)
 
Ответить
СообщениеДобрый день! Появилась необходимость, чтобы в таблице в некоторых ячейках данные были прописаны в виде формул. С помощью приемов по 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
Дата добавления - 01.08.2023 в 14:34
Nic70y Дата: Вторник, 01.08.2023, 14:48 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9005
Репутация: 2369 ±
Замечаний: 0% ±

Excel 2010
[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
[/vba]


ЮMoney 41001841029809
 
Ответить
Сообщение[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
[/vba]

Автор - Nic70y
Дата добавления - 01.08.2023 в 14:48
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!