Всем доброе утро, столкнулся с ситуацией когда нужно в примечаниях произвести вычисление формулы Кто может помочь, помогите. Файл прилагается
Всем доброе утро, столкнулся с ситуацией когда нужно в примечаниях произвести вычисление формулы Кто может помочь, помогите. Файл прилагаетсяDJ_Marker_MC
Вижу только один путь: макросом извлечь из примечаний значения на лист (или в виртуальную память), использовать их в формуле и закинуть обратно в примечание.
Вопрос: А нафига?!
Вижу только один путь: макросом извлечь из примечаний значения на лист (или в виртуальную память), использовать их в формуле и закинуть обратно в примечание.
Насчет "А нафига" - оно то нужно с целью не вводить еще один столбец, который будет временным. Объясню для чего понадобилось, есть ряд представительств компании в разных городах, на которые выставляются планы, тут всё ок, столбцы план/факт/процент выполнение на каждую группу товара, и итоговые суммы по каждому региону. Итоговое выполнение плана по представительству мы не считаем, поскольку планы выставляются не на все группы товаров, поэтому столбец ВСЕГО стоит отдельно, в данный момент открылись новые представительства, по которым не выставляется план так как по другим - на группы товаров, а им сделали отдельное условие и выставили план на общие продажи (не по группам как у других, а на ВСЕГО ПРОДАЖ). Вот поэтому решил сделать примечаниями, без ввода нового столбца.
Но если без макроса не обойтись, то ну его))) не буду усложнять жизнь документу.
Насчет "А нафига" - оно то нужно с целью не вводить еще один столбец, который будет временным. Объясню для чего понадобилось, есть ряд представительств компании в разных городах, на которые выставляются планы, тут всё ок, столбцы план/факт/процент выполнение на каждую группу товара, и итоговые суммы по каждому региону. Итоговое выполнение плана по представительству мы не считаем, поскольку планы выставляются не на все группы товаров, поэтому столбец ВСЕГО стоит отдельно, в данный момент открылись новые представительства, по которым не выставляется план так как по другим - на группы товаров, а им сделали отдельное условие и выставили план на общие продажи (не по группам как у других, а на ВСЕГО ПРОДАЖ). Вот поэтому решил сделать примечаниями, без ввода нового столбца.
Но если без макроса не обойтись, то ну его))) не буду усложнять жизнь документу.DJ_Marker_MC
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("B1:B3")).Address = Target.Address Then Dim c As Range For Each c In Target Dim sProc As String sProc = Format$(c.Value / GetPlan(c.Offset(, -1)), "0.0%") AddCommentIn c, "план выполнен на:" & Chr(10) & sProc Next c End If End Sub
Private Function GetPlan(r As Range) As Long Dim sTemp As String sTemp = r.Comment.Text sTemp = Replace(sTemp, "План ", "") sTemp = Replace(sTemp, "тыс", "")
GetPlan = CLng(sTemp) * 1000 End Function
Private Sub AddCommentIn(r As Range, sText As String) On Error Resume Next r.Comment.Delete r.AddComment sText End Sub
[/vba]
исходный текст этого листа: [vba]
Code
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("B1:B3")).Address = Target.Address Then Dim c As Range For Each c In Target Dim sProc As String sProc = Format$(c.Value / GetPlan(c.Offset(, -1)), "0.0%") AddCommentIn c, "план выполнен на:" & Chr(10) & sProc Next c End If End Sub
Private Function GetPlan(r As Range) As Long Dim sTemp As String sTemp = r.Comment.Text sTemp = Replace(sTemp, "План ", "") sTemp = Replace(sTemp, "тыс", "")
GetPlan = CLng(sTemp) * 1000 End Function
Private Sub AddCommentIn(r As Range, sText As String) On Error Resume Next r.Comment.Delete r.AddComment sText End Sub