Здравствуйте! Возникла небольшая проблема по поводу добавления строки выше существующей в умную таблицу (добавление новой строки происходит с помощью кнопки) - относительные ссылки начинают сбоить для вычисления формулы. (см. приложенный файл). Количество груш в текущей строке (например, строка 3) вычисляется как сумма предыдущего числа груш (строка 2) + текущее количество яблок (строка 3) Но если вставить выше 3 строки с помощью кнопки ДОБАВИТЬ СТРОКУ ВЫШЕ новую строку, то этот механизм (в теперь уже в 4 строке) после добавления начинает сбоить - формула считает неправильно кол-во груш в 4 строке - относительная ссылка предыдущего числа груш не переезжает в добавленную строку. Как это можно поправить? Заранее благодарю.
Здравствуйте! Возникла небольшая проблема по поводу добавления строки выше существующей в умную таблицу (добавление новой строки происходит с помощью кнопки) - относительные ссылки начинают сбоить для вычисления формулы. (см. приложенный файл). Количество груш в текущей строке (например, строка 3) вычисляется как сумма предыдущего числа груш (строка 2) + текущее количество яблок (строка 3) Но если вставить выше 3 строки с помощью кнопки ДОБАВИТЬ СТРОКУ ВЫШЕ новую строку, то этот механизм (в теперь уже в 4 строке) после добавления начинает сбоить - формула считает неправильно кол-во груш в 4 строке - относительная ссылка предыдущего числа груш не переезжает в добавленную строку. Как это можно поправить? Заранее благодарю.neonar
Вот да, кстати. Ошибку-то там udf вызывает, пока я её правил, Елена нашла способ проще Ну да и мои труды не пропали, вычистил Вам лишний код и убрал запрос удаления заведомо пустой строки.
Вот да, кстати. Ошибку-то там udf вызывает, пока я её правил, Елена нашла способ проще Ну да и мои труды не пропали, вычистил Вам лишний код и убрал запрос удаления заведомо пустой строки.StoTisteg
StoTisteg, ваш способ заинтересовал, сейчас требуется вычислять значение по другой формуле -(см. файл ячейка H5) Но блин, во вставленной строке при вашем коде формула правильно вычисляется, но в строках которые ниже нее сбой не устраняется - относительные ссылки не перескакивают. Это уже не UDF. Попробовал вручную вставить строку в EXCEL, та же ерунда что и при использовании макроса.
StoTisteg, ваш способ заинтересовал, сейчас требуется вычислять значение по другой формуле -(см. файл ячейка H5) Но блин, во вставленной строке при вашем коде формула правильно вычисляется, но в строках которые ниже нее сбой не устраняется - относительные ссылки не перескакивают. Это уже не UDF. Попробовал вручную вставить строку в EXCEL, та же ерунда что и при использовании макроса.neonar
Решил так: создал функцию, имитирующую ссылку на ячейку, для того чтобы получать значение из верхней строки.Умнее ни чего не смог придумать: Public Function СТРОКАУТ() With Application.Caller СТРОКАУТ = .Row - .ListObject.HeaderRowRange.Row End With End Function Public Function ПредыдущееЗначение(СмещениеВверхДоНужнойСтроки As Integer, НомерСтолбца As Integer) With Application.Caller ПредыдущееЗначение = .ListObject.DataBodyRange(СТРОКАУТ() - СмещениеВверхДоНужнойСтроки, НомерСтолбца) End With End Function
Решил так: создал функцию, имитирующую ссылку на ячейку, для того чтобы получать значение из верхней строки.Умнее ни чего не смог придумать: Public Function СТРОКАУТ() With Application.Caller СТРОКАУТ = .Row - .ListObject.HeaderRowRange.Row End With End Function Public Function ПредыдущееЗначение(СмещениеВверхДоНужнойСтроки As Integer, НомерСтолбца As Integer) With Application.Caller ПредыдущееЗначение = .ListObject.DataBodyRange(СТРОКАУТ() - СмещениеВверхДоНужнойСтроки, НомерСтолбца) End With End Functionneonar