Avatar billede cjjessen Novice
02. maj 2011 - 13:33 Der er 10 kommentarer og
1 løsning

Kopiering af udvalgt kolonne via makro til udvalgt kolonne i anden fane

Hejsa.

Jeg sidder med et indtastningsark (eksempelvis Ark1), hvor jeg i celle A1 indtaster et ugenummer. I en kolonne fra eksempelvis celle A3:A10 indtaster jeg nogle tal. Disse tal vil jeg gerne vha. en makroknap "OVERFØR" overføre/kopiere til fane Ark2.

Bare rolig, det bliver sværere ;o)

I en vandret række i Ark2 har jeg så ugenumrene stående og alt afhængig af, hvilket ugenummer jeg indtaster i Ark1 celle A1 og trykker "OVERFØR", så skal makroen smide tallene fra A3:A10 om under den tilsvarende uge under Ark2.

Grunden til jeg vil lave denne makro er, at jeg derved kan nøjes med ét indtastningsark og ikke ét ark for hver uge, det fylder nemlig for meget.

Kort fortalt så er det eksempelvis et regneark til timeregistreringer. Så hvis jeg taster en kolonne timer under indtastningsarket (Ark1) og trykker overfør, så skal makroen smide tallene over i en årsoversigt (Ark2), hvor alle uger en listet vandret op.

Hvordan gør jeg dette? Håber der er bare en enkelt venlig og klog sjæl, der kan hjælpe mig videre.

På forhånd tak.

Claus J
Avatar billede Mads Larsen Nybegynder
02. maj 2011 - 14:55 #1
Private Sub CommandButton1_Click()
    Dim FindUge As Integer
    FindUge = Range("A1").Value
       
    Range("A3:A13").Copy
    Sheets("Ark2").Select
                   
    For i = 1 To 52 Step 1
        If Sheets("Ark2").Cells(1, i).Value = FindUge Then
        ActiveSheet.Cells(3, i).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Exit For
        End If
    Next
End Sub

Måske dette kan hjælpe dig lidt? :-)
Avatar billede cjjessen Novice
02. maj 2011 - 15:40 #2
Hej IT-GuFFe ;o)

Det skal i hvert fald prøves af. Du hører nærmere...

Mvh. Claus
Avatar billede cjjessen Novice
03. maj 2011 - 08:23 #3
Hej IT-GuFFe.

Kommandoerne virker faktisk ganske udemærket, MEN ;o) den kan kun finde ud af det hvis jeg har de vandrette ugenumre i Ark2 stående helt oppe i venstre hjørne, dvs. A1 og så ellers vandret fortløbende. Hvis jeg nu har en traditionel tabelopstilling, hvor jeg øverst i Ark2 har lidt overskrifter, sagsnummer, dato, m.m og i kolonne A har noget beskrivende tekst, dermed skal de kopierede celler indsættes i eksempeltvis celle C8, kan det lade sig gøre og hvordan?

I 9. linie skriver du følgende kommando:

If Sheets("Ark2").Cells(1, i).Value = FindUge Then

Teksten "...Cells(1, i).Value...", betyder det at mine ugenummereringer i Ark2 kan være formler og at den bare søger i den værdi, som står?

Hvis du har en e-mailadresse kan jeg maile dig en pdf der viser, hvad der skal kopieres og hvortil ;o)

Mvh. Claus
Avatar billede Mads Larsen Nybegynder
03. maj 2011 - 08:53 #4
Jeg har sendt en PM med mailadressen :)
Avatar billede Mads Larsen Nybegynder
03. maj 2011 - 08:54 #5
Teksten "...Cells(1, i).Value...", betyder det at mine ugenummereringer i Ark2 kan være formler og at den bare søger i den værdi, som står? <-------- Det er korrekt som du skriver, det kan lade sig gøre at bruge sammen med formler
Avatar billede Mads Larsen Nybegynder
03. maj 2011 - 09:46 #6
Hej Claus

Nu har jeg ændret lidt efter hvad jeg lige kan se ud fra PDF'en :-)

Efter hvad jeg lige kunne se på PDF'en, så ser det ud til at de  kopierede celler, skal indsættes fra C10 og ned, hvis det ikke er korrekt skal det lige rettes til.


Private Sub CommandButton1_Click()
    Dim FindUge As Integer
    FindUge = Range("E5").Value
       
    Range("H9:H48").Copy
    Sheets("1.halvår").Select
                   
    For i = 3 To 55 Step 1
        If Sheets("1.halvår").Cells(8, i).Value = FindUge Then
        ActiveSheet.Cells(10, i).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Exit For
        End If
    Next
End Sub
Avatar billede cjjessen Novice
03. maj 2011 - 10:04 #7
Ved du hvad...Det fungerer simpelthen bare perfekt ;o) Jeg takker mange gange for din hjælp.

NB.: Hvordan accepterer jeg dit svar og tildeler dig point? Synes der har været knap før, hvor der stod accepter svar. Og hvordan lukker jeg en tråd?

Mvh. Claus
Avatar billede cjjessen Novice
03. maj 2011 - 10:12 #8
Hov forresten, der skal vist lige en lille rettelse med. Kolonnen den kopierer fra "Ugeskema" H9:H48, består af formler, hvordan får jeg den til at kopiere værdier (.Value)?

Mvh. Claus
Avatar billede Mads Larsen Nybegynder
03. maj 2011 - 10:38 #9
Der er indsat en ny Paste funktion. Den virker efter min lille test :) men du må nok hellere lige tjekke ;-)



Private Sub CommandButton1_Click()
    Dim FindUge As Integer
    FindUge = Range("E5").Value
       
    Range("H9:H48").Copy
    Sheets("Ark2").Select
                   
    For i = 3 To 55 Step 1
        If Sheets("Ark2").Cells(8, i).Value = FindUge Then
        ActiveSheet.Cells(10, i).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        Application.CutCopyMode = False
        Exit For
        End If
    Next
End Sub
Avatar billede Mads Larsen Nybegynder
03. maj 2011 - 10:38 #10
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Skal stå på en linje, men det er der ikke lige plads til her :)
Avatar billede cjjessen Novice
03. maj 2011 - 11:04 #11
SÅDAN!!! Så virker det, jeg takker endnu engang. Det var en STOR hjælp og vild hurtig respons!!!

Mvh. Claus
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