Avatar billede Asger Carlsen Nybegynder
13. marts 2012 - 11:37 Der er 7 kommentarer og
1 løsning

excelmakro: Omdanne kolonnenr. til kolonnebogstav

Jeg er stødt på et problem hvor jeg skal skal summere over  række tal i en given kolonne. Jeg finder kolonnen via "kol = cell.Column", men den giver mig tallet. Hvordan laver jeg det om til et bostav.

så kol = 3 bliver til kol = C?
Avatar billede supertekst Ekspert
13. marts 2012 - 11:46 #1
Eksempel:

Sub test()
    kol = Split(ActiveCell.Address, "$")
    c = kol(1)
End Sub
Avatar billede Asger Carlsen Nybegynder
13. marts 2012 - 12:01 #2
Jeg er ikke helt med på hvordan makroen virker. Kan du give mig et eksempel på input og output?
Avatar billede Asger Carlsen Nybegynder
13. marts 2012 - 12:05 #3
Måske jeg ikke har fået forklaret problemet grundigt nok.

Min sum skal gå fra række 2 til række 7 i søjle 3 (C).
Avatar billede supertekst Ekspert
13. marts 2012 - 12:48 #4
Er det som en "Sum-funktion"?

Ved at anvende .Address - bliver følgende returneret: $C$7

Splitfunktionen "opdeler" adressen med $ som separator - ved at anvende index 1 returneres C
Avatar billede Asger Carlsen Nybegynder
13. marts 2012 - 13:19 #5
Det er en del af en lidt større funktion/makro Hvor der indsættes en  kolonne, der skal summeres over. Summen skal være for x-antal overstående rækker, der løbende bliver ændret. Skal derfor være en =SUM( start_cell : slut_celle )

Har lavet et lille forsøg for at se om  jeg har forstået princippet med .Address korrekt:

sum_r (tallet på den række summen skal være i)
sum_k (tallet på den søjle der skal summeres over)

' Vælger den celle summen skal være i
Cells(sum_r, sum_k).Select

kol = Split(ActiveCell.Address, "$")
ActiveCell.Formula = kol

- der kommer desværre ikke noget tal ud af det.
Avatar billede supertekst Ekspert
13. marts 2012 - 13:32 #6
Vender tilbage senere..
Avatar billede Asger Carlsen Nybegynder
14. marts 2012 - 21:13 #7
Fik det til at virke med lidt forskellige forsøg, smid et svar.

Løsningen blev:

x = Range(Cells(start_raekke, kol), Cells(sum_raekke - 1, kol)).Address
ActiveCell.Formula = "=SUM(" & x & ")"
Avatar billede supertekst Ekspert
14. marts 2012 - 23:17 #8
Godt det lykkedes - du får et svar..
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