15. maj 2002 - 12:08Der er
14 kommentarer og 1 løsning
Summering af celler i VBA
Jeg sidder her med en opgave, hvor jeg skal summe nogle celler i VBA. Det er nemt nok i Excel, da der her er SUM-funktionen, problemet opstår når man skal have VBA til at gøre det. Jeg kan godt få den til at summe nogle celler, men jeg skal præcisere og skrive alle celler den skal summe. Findes der ikke en smartere måde, så man ikke behøver at skrive f.eks. 100 celler?
Den kode du får med makro-optageren er ikke særlig pæn - hvis det er til et engangs-problem er det sikkert fint, men hvis det er for at lære vba er det ikke anbefalelsesværdigt!
Der summerer A1,A2 og A3 i A4, og når macroen bliver kørt, vil der i celle A4 stå "=SUM(A1:A3)"
Formlen skal forståes på denne måde: R[-3] henviser til rækken 3 rækker over den aktuelle række, C betyder at kolonnen er den samme som den aktuelle celle's kolonne.
Ville du f.eks. i en celle i kolonne A summere tal fra kolonne B, skulle der stå C[+1], hvor [+1] henviser til, at det er kolonnen en gang til højre for den aktuelle kolonne du vil have fat i...
Altså henciser R[x] of C[x] til rækker/kolonner relative til den aktuelle celle. Udelades [x] er rækken/kolonnen den samme...
Hvis du har vil lære lidt VBA, kan du se på www.tommyipsen.dk - under Indl. Edb 2001 ligger der forskellige øvelsesopgaver med tilhørende vejledende besvarelser til vba-opgaver på niveau med det du spurgte om.
Jeg synes du er en smule uretfærdig Pernille. Martin gjorde blot det jeg foreslog: optog en makro!
Men OK -han forklarede da også hvordan den fungerer. Han burde måske også have forklaret at du ikke behøver at bruge det R1C1 pjat. Det komplicerer bare tingene når du regner relativt (som regel). Du kan i stedet bruge: ActiveCell.Formula = "=SUM(A1:A3)" Så er referencerne absolutte.
tjacob: Jeg kunne ikke give dig pointene da du havde oprettet dit indlæg som en kommentar, derfor gik de til Martin. Ked af det, men da jeg højst sandsynligt skal bruge mere hjælp til denne opgave i VBA, så skulle der da være en chance for at du kan "score" nogle flere point... ;-) Pernille
Jeg synes du skal oprette et nyt spørgsmål istedet for at skrive det her...så vil du nok få noget større respons... ;-)
Synes godt om
Ny brugerNybegynder
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.