Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/суммирование данных в одной ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
суммирование данных в одной ячейке
ASSEI Дата: Понедельник, 25.07.2016, 11:07 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 69
Репутация: 0 ±
Замечаний: 40% ±

MS Excel prof 2010 плюс
здравствуйте! подскажите как возможно реализовать такой момент, в ячейке есть число и при внесении в эту же ячейку данных, суммировались к тем которые были в ячейке!


Сообщение отредактировал ASSEI - Понедельник, 25.07.2016, 15:12
 
Ответить
Сообщениездравствуйте! подскажите как возможно реализовать такой момент, в ячейке есть число и при внесении в эту же ячейку данных, суммировались к тем которые были в ячейке!

Автор - ASSEI
Дата добавления - 25.07.2016 в 11:07
_Boroda_ Дата: Понедельник, 25.07.2016, 11:18 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация: 6503 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Такой вариант
[vba]
Код
Dim z_

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address(0, 0) = "A1" Then
        z_ = Range("A1")
    End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "A1" Then
        Application.EnableEvents = 0
        Range("A1") = z_ + Target.Value
        Application.EnableEvents = 1
        Target.Select'Возврат обратно в А1. Если не нужно, то сотрите
    End If
End Sub
[/vba]

Добавлено
Действительно, название прохлопал. Это я не отдохнул еще после отдыха на выходных.
К сообщению приложен файл: 4461.xlsm (13.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995


Сообщение отредактировал _Boroda_ - Понедельник, 25.07.2016, 11:37
 
Ответить
СообщениеТакой вариант
[vba]
Код
Dim z_

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address(0, 0) = "A1" Then
        z_ = Range("A1")
    End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "A1" Then
        Application.EnableEvents = 0
        Range("A1") = z_ + Target.Value
        Application.EnableEvents = 1
        Target.Select'Возврат обратно в А1. Если не нужно, то сотрите
    End If
End Sub
[/vba]

Добавлено
Действительно, название прохлопал. Это я не отдохнул еще после отдыха на выходных.

Автор - _Boroda_
Дата добавления - 25.07.2016 в 11:18
Pelena Дата: Понедельник, 25.07.2016, 11:23 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация: 4554 ±
Замечаний: ±

Excel 365 & Mac Excel
ASSEI, ну что опять за название темы?!


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеASSEI, ну что опять за название темы?!

Автор - Pelena
Дата добавления - 25.07.2016 в 11:23
ASSEI Дата: Понедельник, 25.07.2016, 11:24 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 69
Репутация: 0 ±
Замечаний: 40% ±

MS Excel prof 2010 плюс
_Boroda_, да все супер, спасибо
 
Ответить
Сообщение_Boroda_, да все супер, спасибо

Автор - ASSEI
Дата добавления - 25.07.2016 в 11:24
Udik Дата: Понедельник, 25.07.2016, 14:27 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
ещё вариант
[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)
Dim buf As Double

If Target.Address <> "$A$1" Then Exit Sub
If Target.Value = "" Then Exit Sub

buf = Target.Value
Application.EnableEvents = False
Application.Undo
Target.Value = Target.Value + buf
Application.EnableEvents = True

End Sub
[/vba]
[p.s.] Будет ли это в оо работать не знаю
К сообщению приложен файл: 0t.xlsm (16.4 Kb)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Понедельник, 25.07.2016, 14:39
 
Ответить
Сообщениеещё вариант
[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)
Dim buf As Double

If Target.Address <> "$A$1" Then Exit Sub
If Target.Value = "" Then Exit Sub

buf = Target.Value
Application.EnableEvents = False
Application.Undo
Target.Value = Target.Value + buf
Application.EnableEvents = True

End Sub
[/vba]
[p.s.] Будет ли это в оо работать не знаю

Автор - Udik
Дата добавления - 25.07.2016 в 14:27
Gustav Дата: Понедельник, 25.07.2016, 16:14 | Сообщение № 6
Группа: Админы
Ранг: Участник клуба
Сообщений: 2793
Репутация: 1160 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
В порядке экспериментального юмора преобразовал вариант Udik'а в суммирование слагаемых с логгированием внутри формулы. Каждое новое слагаемое дописывается в формулу с хвостом из тайм-штампа, типа такого:

Код
=23,5 + Ч("25.07.2016 16:04:46") + 66,5 + Ч("25.07.2016 16:04:54") + 8 + Ч("25.07.2016 16:04:58")


[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim str As String

If Target.Address <> "$A$1" Then Exit Sub
If Target.Value = "" Then Exit Sub

str = Replace(Target.Value, ",", ".")
Application.EnableEvents = False
Application.Undo
If Not IsEmpty(Target.Value) Then
    str = Mid(Target.Formula, 2) & " + " & str
End If
Target.Formula = "=" & str & " + N(""" & Now & """)"
Application.EnableEvents = True

End Sub
[/vba]

Само собой тоже не знаю, будет ли работать в ОО...

P.S. Интересно, что попытка применить к такой ячейке операции "Специальная вставка \ Вставить значения" благополучно удваивает сумму ячейки и, естественно, дописывается в хвост сохраняющейся формулы... :) Т.е. получается, что специальная вставка - это фактически тот же пользовательский ввод, только выполняемый автоматически.


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Понедельник, 25.07.2016, 16:27
 
Ответить
СообщениеВ порядке экспериментального юмора преобразовал вариант Udik'а в суммирование слагаемых с логгированием внутри формулы. Каждое новое слагаемое дописывается в формулу с хвостом из тайм-штампа, типа такого:

Код
=23,5 + Ч("25.07.2016 16:04:46") + 66,5 + Ч("25.07.2016 16:04:54") + 8 + Ч("25.07.2016 16:04:58")


[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim str As String

If Target.Address <> "$A$1" Then Exit Sub
If Target.Value = "" Then Exit Sub

str = Replace(Target.Value, ",", ".")
Application.EnableEvents = False
Application.Undo
If Not IsEmpty(Target.Value) Then
    str = Mid(Target.Formula, 2) & " + " & str
End If
Target.Formula = "=" & str & " + N(""" & Now & """)"
Application.EnableEvents = True

End Sub
[/vba]

Само собой тоже не знаю, будет ли работать в ОО...

P.S. Интересно, что попытка применить к такой ячейке операции "Специальная вставка \ Вставить значения" благополучно удваивает сумму ячейки и, естественно, дописывается в хвост сохраняющейся формулы... :) Т.е. получается, что специальная вставка - это фактически тот же пользовательский ввод, только выполняемый автоматически.

Автор - Gustav
Дата добавления - 25.07.2016 в 16:14
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!