Как сложить две ячейки в Excel без формулы?

Как сложить две ячейки в Excel без формулы?

У меня есть лист в Excel со списком чисел. Иногда мне нужно переместить единицы X из одной ячейки в другую.

Допустим, у меня есть класс детей, у каждого из которых есть определенное количество шариков. В таблице есть 2 столбца, первый столбец — имена, второй столбец — шарики. Джон дает 375 шариков Биллу. Я хочу обновить таблицу.

Сейчас я достаю калькулятор, выполняю вычитание и сложение и обновляю ячейки вручную.

Это громоздко и подвержено ошибкам. Есть ли способ лучше?

(Я знаю, что могу написать в ячейке «=8300+375», но в итоге в каждой ячейке будет невообразимо длинная формула..)

решение1

Для удобства выполнения вычислений можно использовать специальную вставку.

  • Введите -375в одну ячейку и 375рядом с ней.
  • выберите новые номера и нажмите CTRL+C
  • Выберите ячейки, которые вы хотите изменить.
  • в ленте / главная / вставить / "специальная вставка"
  • отметьте «добавить», затем «ок»

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

решение2

Мате Юхаспост вдохновил меня предложить вам VBA Macro, так как он быстрее и экономит время. И я верю, что вы справитесь с этим.

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

Как это работает:

  • Я предполагаю, что у вас есть данные в Range A2:B4.
  • Введите значения, которые вы хотите вычесть, в C2:C4.

  • ОтВКЛАДКА «РАЗРАБОТЧИК», нажмитеРежим проектирования
    затемВставлять& ОтЭлементы управления ActiveX
    нажмитеЗначок кнопки управленияи нарисуйте его на
    листе.

  • Нажмите наКнопка управления, вы попадаете в редактор VB Windows.

  • Копировать вставитьэтот код между

    Частная подкомандаButton1_Click()

    Конец субтитра.

    Range("C2:C4").Select
     Selection.Copy
      Range("B2").Select
      Selection.PasteSpecial 
      Paste:=xlPasteAll, 
      Operation:=xlSubtract, SkipBlanks:= _
      False, Transpose:=False
      Range("C2:C4").Select
      Selection.ClearContents
      Application.CutCopyMode = False
    
  • В редакторе VB Windows щелкнитеМеню Файлзатем ударилЗакрыть и вернуться в Microsoft Excel.

  • Наконец нажмите наКнопка управления.

Новые значения вы найдете в Column B,(см. снимок экрана).

Примечание.

Если вы хотите вычесть старое значение из нового значения только в ячейке, то вы можете использовать этот код VBA.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Target.Column = 2 And Target.Row = 1 Then

  NewVal = Range("B1").Value
    Application.EnableEvents = False
     Application.Undo

   OldVal = Range("B1").Value
    Range("B1").Value = NewVal
     Range("B1").Value = NewVal - OldVal
      Application.EnableEvents = True

End If
End Sub
  • НажиматьАЛЬТ+Ф11открыть редактор VB иКопировать вставитьпоказанный выше код какСтандартный модуль.

  • Как только вы перезапишете значение в B1, код
    вычтет его из старого значения и перезапишет B1
    новым значением.

Настройте диапазон данных по своему усмотрению.

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