13. februar 2004 - 12:16
Der er
11 kommentarer og 2 løsninger
Brug af variabel i SUM-funktion
Jeg har et ark hvor kolonne A indeholder navne og kolonne B nogle beløb. Jeg vil gerne have summeret de beløb i kolonne B 2 celler længere nede. Jeg ved at mit range altid starter i B2. Jeg har forsøgt at tælle hvor mange gange der står et navn og så få den værdi ind i min formel. EKSEMPEL: Sub count() Range("a1").Select Dim x As Integer Do If ActiveCell.Value <> "" Then x = x + 1 ActiveCell.Offset(1, 0).Select End If Loop Until ActiveCell.Value = "" ' gøres indtil cellen er blank ActiveCell.Offset(1, 1).Select ActiveCell.Formula = sum(B2 & ":" & 2 & x + 2) End Sub Hvis der i Kolonne A er 2 navne er min hensigt at formlen skal se således ud. =SUM(B2:B4) Men der meldes fejl i formlen.
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
13. februar 2004 - 12:19
#1
SUM.HVIS formlen kan vist gøre arbejdet for dig....... helt uden VBA.
13. februar 2004 - 12:23
#2
Pørv med Range("a2").Select Selection.End(xlDown).Select a = Selection.Offset(0, 1).Address ActiveCell.Offset(1, 1).Formula = "=sum(b2:" & a & ")"
13. februar 2004 - 12:26
#3
Hvis det skal være VBA, så kan det gøres i en sætning ActiveCell.Offset(1,1).Formula = "=sum(b2:" & Range("A2").End(xlDown).address & ")"
13. februar 2004 - 12:28
#4
jkrons> Select er nærmest et forbudt ord i VBA :-) Select er en tidsrøver af format.
13. februar 2004 - 12:29
#5
flemmingdahl-> Din kode tager udgangspunkti ActiveCell. Det holder vel ikke, når resultatet altid skal stå et bestemt sted? Eller fordrer i vert fald at markøren står rigtigt inden du afspiller koden?
13. februar 2004 - 12:30
#6
Tror nu i øvrigt ikke ovenstående løser problemet, men at dette gør: Sub Count() Range("A2").End(xlDown).Offset(1,1).Formula = _ "=sum(b2:" & Range("A2").End(xlDown).address & ")" End Sub
13. februar 2004 - 12:30
#7
rigtig set jkrons - det fangde jeg også lige selv :-)
13. februar 2004 - 12:30
#8
I know. Men med bare en nogenlunde hurtig pc, skal det være et voldsomt stort regneark før du oplever rergistrerbar forsinkelser ved brugen.
13. februar 2004 - 12:31
#9
eller sådan: Sub Count() With Range("A2").End(xlDown) .Offset(1,1).Formula = "=sum(b2:" & .address & ")" End With End Sub
13. februar 2004 - 12:33
#10
rigtigt med tiden, men ting har det med at vokse.... nå, never mind, men jeg bruger næsten aldrig select, specielt fordi det kan laves uden.
13. februar 2004 - 12:34
#11
Du har selvfølgelig ret i at det meste kan laves uden - jeg synes bare ofte det giver bedre overblik at se, hvilke celler, der faktisk tages udgangspunkt i.
13. februar 2004 - 12:38
#12
Overblik.... måske - det er vist bare vane. 75% af mit arbejde er VBA i Excel/Word. Nå, lad os stoppe den her - det er vist ligegyldigt for spørgsmålet.
13. februar 2004 - 12:40
#13
flemming-> Vi stopper :-) Men du har nok ret i det med vanen.
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig