Excelfråga
Varje gång jag skriver en ny siffra i cell 1 ska den adderas till summan i cell 2. Summan i cell 2 får inte försvinna bara för att jag raderar cell 1.
Hur ska jag göra?
Tom
Det blir nog svårt att göra utan kod. Och lite konstigt i mina ögon.
Förstår jag dig rätt om det är så här:
A1 = 0
B1 = 0
A1 = 10
B1 = 10
A1 = 20
B1 = 30
A1 = 10
B1 = 40
?
Mvh // Johan
VBA känns som den bästa lösningen. Själva koden är mycket enkel. Lite svårare att koppla koden till lämplig funktion, så det inte blir en massa oönskade uppdateringar av målcellen.

Tom se bifogad Excel fil (döp om till xls - ingen uppackning bara döp om till xls)
Använder ett macro som håller reda på tidigare summa i Blad2.
Värdet du anger i A1 i Blad1 summeras till A2 i Blad1 baserat på informationen som sparats i Blad2.
Jag har reserverat 1000 celler för summering i blad2 men du kan enkelt ändra detta om du vill genom att ändra formlen i cell a2 i blad1.
Om du vill börja om från början kan du bara gå in i blad 2 och rensa alla värden i cellerna a b och c
Jag har skyddat Blad 1 så man inte av misstag skriver över formlen i A2 i Blad1 men det är inget lösenord så det kan du ändr själv om du vill.
Ifall du vill ha egna namn på Bladen så måste du även ändra i macrot så att blad2 får rätt namn där
#1, Precis så Johan.
#3, Tack Kaj! Jättebra! Nu ska jag bara få ihop resten :-) Var hittar jag macrot så att jag kan ändra och göra fler?
Tom
#4: verktyg, makro, visual basic editor
Mvh // Johan

Som sagt gå in i verktyg, macro och visual basic editor.
Här är koden som du kan klistra in i nya excelblad via visual basic editorn. Namnet på Blad2 är viktigt att det heter samma som i macrot. Vill du ändra på det ändrar du således till ditt eget namn i macrot (fet stil markerat i koden nedan)
Option Explicit
Dim StrtValue As String
Private Sub Worksheet_Change(ByVal Target As Range)
With Sheets("Blad2")
.Range("A65536").End(xlUp).Offset(1).Value = Target.Address
.Range("B65536").End(xlUp).Offset(1).Value = StrtValue
.Range("C65536").End(xlUp).Offset(1).Value = Target.Value
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
StrtValue = Target.Value
End Sub
Tack grabbar, perfekt!
Tom