09. december 2003 - 19:45Der er
10 kommentarer og 1 løsning
Lægge til værdi i celle
Jeg har et budget delt op i emner. Jeg skriver så ind hver gang jeg har brugt et beløb der svarer til emnet. I cellen står der allerede en værdi fra tidligere, da jeg kører det pr. mnd. Jeg vil så gerne have excel til at gøre sådan at den tager den værdi jeg indtaster i cellen og lægger den til den gamle værdi der stod der i forvejen, og så skrive resultatet i samme celle. Hvordan gør man det?
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
venter spændt, men en makro skal man selv køre ikke..? Det skal jo være sådan at jeg bare skal plotte tallet ind i cellen uden at skulle lave andet først.
Ja, den laver fejl, hvis du markerer flere celler i området på en gang....
Du kan tilføje, så koden ser således ud.....
Private mdValue As Double Private mdValueTemp As Double
Private Sub Worksheet_Change(ByVal Target As Range) Dim rCalcCells As Range Set rCalcCells = Range("A2:A50")
On Error Resume Next If Not Intersect(Target, rCalcCells) Is Nothing Then mdValueTemp = mdValue mdValue = 0 Target.Value = Target.Value + mdValueTemp End If On Error GoTo 0
Set rCalcCells = Nothing End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rCalcCells As Range Set rCalcCells = Range("A2:A50")
On Error Resume Next If Not Intersect(Target, rCalcCells) Is Nothing Then mdValue = Target.Value End If On Error GoTo 0
Set rCalcCells = Nothing End Sub
MEN MEN MEN........ hvis du så markerer flere celler og skriver den af dem der er aktiv........ så overskriver du det eksisterende tal med det nye......
Det har jeg endnu ikke en løsnning på..... men måske kommer den...!
Private mdValue As Double Private mdValueTemp As Double Private msCellAdr As String
Private Sub Worksheet_Change(ByVal Target As Range) Dim rCalcCells As Range Set rCalcCells = Range("A2:A50") Application.EnableEvents = False
If Not Intersect(Target, rCalcCells) Is Nothing Then mdValueTemp = mdValue mdValue = 0 If Selection.Rows.Count = 1 Then Target.Value = Target.Value + mdValueTemp Else Range(msCellAdr).Value = Range(msCellAdr).Value + mdValueTemp mdValue = ActiveCell.Value msCellAdr = ActiveCell.Address End If End If
Application.EnableEvents = True Set rCalcCells = Nothing End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rCalcCells As Range Set rCalcCells = Range("A2:A50")
If Not Intersect(Target, rCalcCells) Is Nothing Then If Selection.Rows.Count = 1 Then mdValue = Target.Value Else mdValue = ActiveCell.Value msCellAdr = ActiveCell.Address End If End If
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.