Avatar billede irmapigen Nybegynder
01. november 2004 - 16:15 Der er 16 kommentarer og
2 løsninger

Makro opsætning

JEg vil gerne lave en makro, men den skal ikke være bundet til én celle. Eksempel: Hvis jeg står på celle A1, så skal den lave en sortering, der indebærer 6 kolloner og 14 rækker. Ingen problem der.
Men hvis jeg står på f. eks. A16 og afspiller makroen burde den lave samme handling, bare med udgangspunkt i A16 i steder for A1.

Det er enlig ligesom hvis man har =sum(A1:A3) i celle A4. Hvis man kopierer den til B4 bliver det automatiso til =sum(B1:B3).

Er det muligt?
Avatar billede kabbak Professor
01. november 2004 - 17:37 #1
hvilken kolonne skal den sortere på
Avatar billede jkrons Professor
01. november 2004 - 17:43 #2
Denne makro soerter et område på 6 * 14 celler, med udgangspunkt i den aktive celle. Der sorters på den kolonne, som indehiolder den aktive celle.

Sub Makro1()
    ActiveCell.Range("A1:F14").Select
    Selection.Sort Key1:=ActiveCell, Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub
Avatar billede kabbak Professor
01. november 2004 - 18:25 #3
ska den ikke se sådan ud, for jeg får fejl på din jkrons

Sub Makro1()
    ActiveCell.Range("A1:F14").Select
  Selection.Sort Key1:=Range(ActiveCell.Address), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Avatar billede kabbak Professor
01. november 2004 - 18:45 #4
det var
DataOption1:=xlSortNormal
som min excel 2000 ikke kunne lide
Avatar billede jkrons Professor
01. november 2004 - 21:37 #5
kabbak-> OK, jeg kører 2002.  Nok derfor.
Avatar billede irmapigen Nybegynder
02. november 2004 - 09:54 #6
Hm, kan ikke få det til at fungere...Den aktive celle er B4 (i den første) og området rækker til G19. Så jeg havde lavet den til:
Sub Makro1()
    ActiveCell.Range("B4:G19").Select
    Selection.Sort Key1:=ActiveCell, Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
End Sub

Når jeg afspiller makroen, viser den en fejl + at den markerer området fra C7 til H22. Det samme med kabbak's bud. Jeg arbejder med 2000



Udover det skal jeg have en makro til, hvor den sorterer på den sidste kolonne, faldende.
Avatar billede kabbak Professor
02. november 2004 - 10:02 #7
du skal ikke lave

ActiveCell.Range("A1:F14").Select
om til
ActiveCell.Range("B4:G19").Select

selv om der står A1 betyder det ikke at det er A1

Det betyder cirka:

Lad som om den aktive celle er A1 og maker ud fra det

håber du forstår
Avatar billede irmapigen Nybegynder
02. november 2004 - 11:10 #8
Sub Makro1()
    ActiveCell.Range("A1:F14").Select
  Selection.Sort Key1:=Range(ActiveCell.Address), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Den her virkede! Fedt!! Er de svært at lave? Jeg kunne forestille mig at jeg vil anvende dem i flere filer fremover. Jeg kan jo selv prøve nu at lave 1 til sortering efter sidste kollone, og faldende...
Avatar billede irmapigen Nybegynder
02. november 2004 - 11:14 #9
Hm, det kan jeg vist ikke...hjælp en gang til? (I må gerne forklare mig, hvordan jeg skal gøre!)
Avatar billede kabbak Professor
02. november 2004 - 11:54 #10
her er den

Sub Makro1()
    ActiveCell.Range("A1:F14").Select
  Selection.Sort Key1:=Range(ActiveCell.Offset(0, 5).Address), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Avatar billede kabbak Professor
02. november 2004 - 11:58 #11
Selection.Sort Key1:=Range(ActiveCell.Offset(0, 5).Address)

betyder sorter 5 kolonner ved siden af den aktive celle, og 0 er = samme række
Avatar billede irmapigen Nybegynder
02. november 2004 - 12:55 #12
Wow det virker!! Tak for forklaringen og hjælpen, næste gang prøver jeg selv. Sender du lige et svar?
Avatar billede irmapigen Nybegynder
02. november 2004 - 12:57 #13
Hvor kan jeg egentlig læse, at den skal sortere på den sidste kolonne?
Avatar billede kabbak Professor
02. november 2004 - 14:10 #14
Offset(0, 5)
5 tallet betyder  5 kolonner til højre for den kolonne den aktive celle er i.

0 betyder samme række

hvad med point til jkrons, det var jo hans kode jeg bagte videre på.
Avatar billede irmapigen Nybegynder
02. november 2004 - 14:34 #15
Aaaah ok, tnx! JEg vil godt giver jer begge points, hvis han også lige svarer. Hvordan fordeler man dem? (I må da også gerne få begge to 30 point, da I har hjulpet mig supergodt:-) )
Avatar billede jkrons Professor
02. november 2004 - 16:24 #16
Svar :-)
Avatar billede jkrons Professor
04. november 2004 - 16:34 #17
Tak for point.
Avatar billede kabbak Professor
04. november 2004 - 17:30 #18
tak for point ;-))
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