Avatar billede stjernen Nybegynder
17. marts 2011 - 11:44 Der er 4 kommentarer og
1 løsning

Hjælp til macro i Excel

Hej eksperter,

Jeg har et spørgsmål ang. makoer i Excel, som jeg meget gerne vil have jeres hjælp til:

I mit arbejde trækker jeg tit et rådata ark ud af et system med rigtig mange kolonner og rækker. Jeg skal dog for det meste kun bruge 6 af kollonnerne, som jeg kopierer og sætter over i et andet ark. De tre første kolonner kommer altid i samme rækkefølge (kolonne B, L, og N), og selvom de ikke altid hedder det samme er det altid værdierne i disse tre kollonner jeg bruger. Desuden bruger jeg tre andre kolonner,og disse ligger typisk i AA, AB og AC - men ikke altid! Det kan ske at de rykker sig fra gang til gang.

Jeg har prøvet at indspille en makro, men problemet er at mens de første 3 kolonner altid kommer korrekt over i det andet ark, kommer de tre sidste af og til ikke med rigtigt over (hvis nu kollonnerne jeg skal bruge ikke ligger i AA, AB og AC, men lidt længere til højre i arket. Derfor skal jeg vel bruge kolonnenavnene fremfor numrene for de tre kolonner? Men jeg ved ikke hvordan man gør det, da jeg ikke har så meget erfaring med VBA programmering.

Jeg håber ikke det blev alt for kringlet...

Er der nogen der kan hjælpe?

Her er koden på den makro jeg har indspillet:

Sub Afrapporter()
'
' Afrapporter Makro
'
' Genvejstast:Ctrl+j
'
    Sheets("Rådata").Select
    Columns("B:B").Select
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    Range("B:B,L:L,N:N").Select
    Range("N1").Activate
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollColumn = 21
    ActiveWindow.ScrollColumn = 22
    ActiveWindow.ScrollColumn = 23
    ActiveWindow.ScrollColumn = 24
    Range("B:B,L:L,N:N,AA:AC").Select
    Range("AA1").Activate
    Selection.Copy
    Sheets("Calculator").Select
    Columns("A:F").Select
    ActiveSheet.Paste
End Sub


På forhånd tak.
Avatar billede kabbak Professor
17. marts 2011 - 12:44 #1
Har du ikke overskrifter på rådata, så vi kan finde kolonne numrene ud fra dem
Avatar billede stjernen Nybegynder
17. marts 2011 - 12:51 #2
Jo, det har jeg. De tre sidste (som jo er dem der kan rykke sig) hedder RETURN, SCREENING_1 og SCREENING_2. De ligger som sagt for det meste i kolonnerne AA, AB og AC, men dog ikke altid.
Avatar billede kabbak Professor
17. marts 2011 - 13:59 #3
Sub Afrapporter()
Dim Col As Integer, Rw As Long
' Afrapporter Makro
'
' Genvejstast:Ctrl+j
'
    Sheets("Rådata").Select
    Rows("1:1").Select
    Selection.Find(What:="RETURN", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
        Col = ActiveCell.Column
    Rw = ActiveSheet.Rows.Count
  Range("B:B,L:L,N:N").Copy Sheets("Calculator").Range("A1")
  Range(Cells(1, Col), Cells(Rw, Col + 2)).Copy Sheets("Calculator").Range("D1")
End Sub
Avatar billede stjernen Nybegynder
17. marts 2011 - 15:04 #4
Hej Kabak,

Det virker søreme. Tak for det!

Hvordan giver jeg dig point?
Avatar billede kabbak Professor
17. marts 2011 - 17:01 #5
Jeg skriver lige et svar, godt at det virkede ;-))
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
Kurser inden for grundlæggende programmering

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