поддержание постоянного общего количества ячеек Excel

поддержание постоянного общего количества ячеек Excel

У меня есть столбец с 3 ячейками: A1, A2 и A3. Я хочу, чтобы числовая сумма 3 ячеек оставалась постоянной при увеличении или уменьшении любой из 3 ячеек. То есть мне нужно, чтобы любое увеличение или уменьшение любой ячейки было равномерно распределено между другими 2 ячейками. Например, я начинаю с 3 + 5 + 2 = 10. Я меняю 5 на 6, так что тогда у меня автоматически получается 2,5 + 6 + 1,5 = 10. Пожалуйста, имейте в виду, что на самом деле у меня будет около 20 ячеек, которые я хочу приравнять к постоянным 100. Большое спасибо.

решение1

НаполнятьА1черезА20с ценностями, которые складываются в100:

введите описание изображения здесь

Затем поместите следующееМакрос событияв области кода рабочего листа:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range, Delta As Double
    Set rng = Range("A1:A20")
    If Intersect(Target, rng) Is Nothing Then Exit Sub

    Delta = (100 - Range("A21").Value) / 19
    Application.EnableEvents = False
        For Each r In rng
            If r.Address <> Target.Address Then
                r.Value = r.Value + Delta
            End If
        Next r
    Application.EnableEvents = True
End Sub

После установки и активации макроса он будет обнаруживать любые изменения значений вА1черезА20и отрегулируйте остальные значения, чтобы сохранить 100. Изменяйте только одну ячейку за раз.

Поскольку это код рабочего листа, его очень легко установить и использовать автоматически:

  1. щелкните правой кнопкой мыши имя вкладки в нижней части окна Excel
  2. выберите «Просмотреть код» — откроется окно VBE
  3. вставьте текст и закройте окно VBE

Если у вас возникли какие-либо сомнения, попробуйте сначала на пробном листе.

Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel позже 2003, вы должны сохранить файл как .xlsm, а не .xlsx

Чтобы удалить макрос:

  1. откройте окна VBE, как указано выше
  2. очистить код
  3. закрыть окно VBE

Чтобы узнать больше о макросах в целом, см.:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

и

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Чтобы узнать больше о макросах событий (код рабочего листа), см.:

http://www.mvps.org/dmcritchie/excel/event.htm

Для работы этого метода должны быть включены макросы!

Связанный контент