Страницы: 1
RSS
Как получить расшифровку значений в формулах в соседней ячейке, Как получить расшифровку значений в формулах в соседней ячейке
 
Кто подскажет, как в соседней справа ячейке расписать значения которые подставлены в формулу. Раньше встречал какое-то дополнение экселя, которое может так делать, но сейчас найти не могу.  
 
Может так
 
Если правильно понял то штатных средств нет, UDF может быть.
 
Есть статья об этом с примером:
Отобразить в формулах вместо ссылок на ячейки значения ячеек (excel-vba.ru)
Как бы ее сделать функцией? =ПодставитьЗначения(A1)
Может кто-то переделает под функцию? - было бы полезно!
Изменено: Тимофеев - 17.06.2022 09:17:33
 
Ещё вариант:
 
Может есть у кого в закромах готовая UDF для отображения в формулах вместо ссылок на ячейки их значения?
Поделитесь пожалуйста, при наличии
 
если excel поддерживает, то обычная Ф.ТЕКСТ()
 
Excel то поддерживает, но не поможет допустим формула в ячейке С2
=A1*A14+(5+C13)*C14 /B11+Лист2!B10
примет вид
=Ф.ТЕКСТ(C2)=A1*A14+(5+C13)*C14 /B11+Лист2!B10
Макрос от The_Prist(Щербаков Дмитрий) по ссылке из поста 4 делает что нужно, но ячейки нужно выделять, если бы это была UDF было бы шикарно
Изменено: Тимофеев - 17.06.2022 15:25:17
 
Цитата
Тимофеев написал:
бы это была UDF было бы шикарно
Там внутри функция уже есть(Val_Of_Formula), только допилить нужно.
 
Тимофеев, добавил возможность вывода  ;)
Изменено: Jack Famous - 17.06.2022 15:50:17
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, спасибо !
 
Код
Sub test()
    Dim cl As Range
    For Each cl In Range("F14:F24")
        cl.Cells(1, 2).Value = GetCellFormula(cl)
    Next
End Sub
Function GetCellFormula(cl As Range) As String
    Dim ss As String
    ss = cl.FormulaLocal
    ss = Replace(ss, "$", "")
    
    Dim dd As Double
    Dim rDP As Range
    On Error Resume Next
    Set rDP = cl.DirectPrecedents
    On Error GoTo 0
    If Not rDP Is Nothing Then
        Dim dp As Range
        For Each dp In rDP
            dd = dp.Value
            ss = Replace(ss, dp.Address(0, 0, xlA1), dd)
        Next
    End If
    GetCellFormula = "'" & ss
End Function
 
МатросНаЗебре, в ячейку на которую ссылаюсь: =100*К!F10+К!E20-К!I20+I52
результат: =GetCellFormula(Source!I28)'=100*К!F10+К!E20-К!I20+I52,
а цель подставить значения вместо адресов с разных листов
GetCellFormula()=Ф.Текст()

Jack Famous, Вопрос возник
в ячейке: =A9+B9+C9/Лист2!B7+D9+(Лист2!A7+Лист2!C7)*Лист1!B9, D9 - пустая
Результат: '=10+20+30/30++(10+40)*20 - т.е. 0 не показывает
Изменено: Тимофеев - 17.06.2022 16:46:19
 
Создал файл пример. (Результат формулы неожиданный - ячейка В3 Листа 1 при ссылке на ячейку с формулами другого листа)
- Переименовал имя функции на Объем.
- Так же параметр "true" в функции для чего не понимаю
Очень странное поведение добавляю еще в формулу Е2 на втором листе плюс ещё какую-нибудь ссылку, перехожу на лист 1 - формула показывает, захожу в В3 на Лист1 нажимаю Enter - данные из ячеек второго листа пропадают...
Изменено: Тимофеев - 17.06.2022 17:56:38
 
Цитата
Тимофеев: Вопрос возник
это к автору) а так пожалуйста)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Заточено под макрос. UDF в том варианте не работает. Запустите макрос test. Если нужно автоматическое обновление, макрос можно повесить на событие.
 
Всем большое спасибо, MulTEx подходит.
 
Не знаю какова вероятность, что автор тему глянет. Но подождём маленько
 
Цитата
Тимофеев написал:
Не знаю какова вероятность, что автор тему глянет
не очень высокая :)
Код из статьи давно не дорабатывался(в отличии от кода надстройки), поэтому может в каких-то моментах работать не совсем корректно. Дорабатывать сейчас до идеала нет возможности.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх