Avatar billede baadsager-e-box.dk Nybegynder
24. september 2002 - 10:41 Der er 6 kommentarer og
1 løsning

VBA Sum

Hej

Jeg står i en aktiv celle og ovenover står der en masse tal som er hentet fra Access. Mit problem er at jeg skal have skrevet summen i den aktive celle, og jeg ved at summen skal starte i række 4 og gå ned til den aktive celle - 1, men hvordan jeg lige skriver dette ind i excel VBA ved jeg ikke. Kan du/I hjælpe?
Avatar billede rvm Nybegynder
24. september 2002 - 11:02 #1
Dim myRange As Range
Set myRange = Worksheets("ark1").Range(Cells(4, 1), Cells(ActiveCell.Row - 1, 1))
ActiveCell = Application.WorksheetFunction.Sum(myRange)
24. september 2002 - 11:06 #2
rvm>> fin løsning, mon ikke der skal bruges ActiveCell.Column i stedet for 1 så resultatet ikke altid kommer i kolonne A

Dim myRange As Range
Set myRange = Worksheets("ark1").Range(Cells(4, ActiveCell.Column), Cells(ActiveCell.Row - 1, ActiveCell.Column))
ActiveCell = Application.WorksheetFunction.Sum(myRange)
Set myRange = Nothing
Avatar billede rvm Nybegynder
24. september 2002 - 11:09 #3
Jo - god ide - det vil gøre den mere dynamisk *S*
24. september 2002 - 11:15 #4
*S* ja det var det jeg tænkte *S*

Selv ville jeg skrive den således: (teknisk rettelse)

Dim myRange As Range
With ActiveCell
    Set myRange = Worksheets("ark1").Range(Cells(4, .Column), Cells(.Row - 1, .Column))
    .Value = Application.WorksheetFunction.Sum(myRange)
End With
Set myRange = Nothing
Avatar billede rvm Nybegynder
24. september 2002 - 11:30 #5
Hvorfor vil du bruge en With sætning ?
Avatar billede baadsager-e-box.dk Nybegynder
24. september 2002 - 11:33 #6
Det virker perfekt! Kan man ikke bruge det aktive ark i stedet for et bestemt ark, bare så den virker i alle ark??
24. september 2002 - 11:39 #7
rvm> with-sætningen for at spare ActiveCell 4 gange - gør sætningerne kortere og minsker fejlmuligheder.

e-box> Jo ActiveSheet kan godt bruges

Dim myRange As Range
With ActiveCell
    Set myRange = ActiveSheet.Range(Cells(4, .Column), Cells(.Row - 1, .Column))
    .Value = Application.WorksheetFunction.Sum(myRange)
End With
Set myRange = Nothing
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester