_Boroda_, добрый день. что такое ТС? и действительно фрмулы везде будут одинаковые то есть значение из столбца с будет помножено на значение ячейки В2 (то есть курс) так скажем.
_Boroda_, добрый день. что такое ТС? и действительно фрмулы везде будут одинаковые то есть значение из столбца с будет помножено на значение ячейки В2 (то есть курс) так скажем.sarasom
Я про примечания тоже подумал - но там пропишутся константы, а не ссылки на текущие значения, и это может привести к ошибке - вдруг исходные данные уже изменились, а примечание не обновили? Сложно всё... Надёжнее показать текущие данные каждый раз заново по каждому запросу. Но в общем конечно можно код Дмитрия использовать. А если как по условиям задачи интересует только результат одного умножения - то код может быть совсем простой.
Вот где-то так например (код в модуль листа, срабатывает на правый клик в первом столбце по ячейке с формулой): [vba]
Код
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Dim s$, a With ActiveSheet If Not Intersect(Target.EntireColumn, ActiveSheet.UsedRange.Columns(1)) Is Nothing Then s = Mid(Target.Formula, 2) If Len(s) Then On Error Resume Next a = Split(s, "*") MsgBox Range(a(0)).Value & "*" & Range(a(1)).Value Cancel = True On Error GoTo 0 End If End If End With End Sub
[/vba]
Я про примечания тоже подумал - но там пропишутся константы, а не ссылки на текущие значения, и это может привести к ошибке - вдруг исходные данные уже изменились, а примечание не обновили? Сложно всё... Надёжнее показать текущие данные каждый раз заново по каждому запросу. Но в общем конечно можно код Дмитрия использовать. А если как по условиям задачи интересует только результат одного умножения - то код может быть совсем простой.
Вот где-то так например (код в модуль листа, срабатывает на правый клик в первом столбце по ячейке с формулой): [vba]
Код
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Dim s$, a With ActiveSheet If Not Intersect(Target.EntireColumn, ActiveSheet.UsedRange.Columns(1)) Is Nothing Then s = Mid(Target.Formula, 2) If Len(s) Then On Error Resume Next a = Split(s, "*") MsgBox Range(a(0)).Value & "*" & Range(a(1)).Value Cancel = True On Error GoTo 0 End If End If End With End Sub
_Boroda_, спасибо вам большое! есть маленький вопрос - когда выбираю в форматировании ячейки определённую валюту - в данном случае мне нужно чтоб ячейка показывала доллар - то при переходе на другую ячейку программа не фиксирует мой выбор и возвращает опять только цифровые значения. можно ли это как то поправить?
_Boroda_, спасибо вам большое! есть маленький вопрос - когда выбираю в форматировании ячейки определённую валюту - в данном случае мне нужно чтоб ячейка показывала доллар - то при переходе на другую ячейку программа не фиксирует мой выбор и возвращает опять только цифровые значения. можно ли это как то поправить?sarasom