Avatar billede gskairo Nybegynder
22. januar 2008 - 13:16 Der er 5 kommentarer

Kopiering i macro løkke

Sider lidt fast igen. Har noget date i B120, B239, B358 ect som skal kopieres til B2, C2 D2 men min funktion vil ikke gøre det rigtigt. den kører den forkerte vej :S Den henter b120, c120 til slut men ved stepping igennem skriver flere gange og både i x og y ledet og sletter det igen. Det er noget rigtigt rod.

Er der en der har en hurtig løsning på dette problem
Avatar billede gskairo Nybegynder
22. januar 2008 - 13:26 #1
Det skal lige siges at de lige så godt kune være 40 så jeg er ved at lave en funktion der får denne data fra en variabel som bliver indputtet fra keyboarded.
Avatar billede gskairo Nybegynder
22. januar 2008 - 14:01 #2
min kode ser sådan ud idag

For t = 0 To counter - 1
    Data1 = (rk * t) - 1 ' Data1 er hvor infoen ligger
      Range(Cells(Data1, 2), Cells(Data1, 2)).Copy Range(Cells(Data1 + t, 2), Cells(2, 3))
    Next t
Avatar billede jlemming Nybegynder
22. januar 2008 - 21:52 #3
Jeg må indrømme at jeg ikke forstå det du skriver :o), meen i bliver data1 1. gang -1, den skal være >= 1, VBA burde melde fejl det der!!
Avatar billede jkrons Professor
22. januar 2008 - 23:38 #4
Prøv at vise hele koden. Uddraget her siger ikke rigtigt noget om hvad fx rk og counter er, når du går ind i løkken.
Avatar billede gskairo Nybegynder
23. januar 2008 - 08:27 #5
Jeg har skrevt det op her som koden skal virke.
rk er en data værdi. efeks 10
Et af problemerne er der er nogle "hop" hvor der feks ikke er data i 2 celler og så fortsætter de igen så der skal nok laves 2 eller 3 løkker.

    Data1 = rk + 1
    Range(Cells(Data1, 2), Cells(Data1, 2)).Copy Range("B2")
    Data2 = rk * 2
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("C2")
    Data2 = rk * 3 - 1
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("D2")
    Data2 = rk * 4 - 2
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("E2")
    Data2 = rk * 5 - 3
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("F2")
    Data2 = rk * 6 - 4
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("G2")
    Data2 = rk * 7 - 5
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("H2")
    Data2 = rk * 8 - 6
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("I2")
    Data2 = rk * 9 - 7
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("J2")
   
    Data2 = rk * 10 - 6
    Range(Cells(Data1, 2), Cells(Data1, 2)).Copy Range("K2")
    Data2 = rk * 11 - 7
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("L2")
    Data2 = rk * 12 - 8
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("M2")
    Data2 = rk * 13 - 9
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("N2")
    Data2 = rk * 14 - 10
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("O2")
    Data2 = rk * 15 - 11
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("P2")
    Data2 = rk * 16 - 12
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("Q2")
    Data2 = rk * 17 - 13
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("R2")
    Data2 = rk * 18 - 14
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("S2")
    Data2 = rk * 19 - 15
    Range(Cells(Data2, 1), Cells(Data2, 1)).Copy Range("T2")

    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("U2")
    Data2 = rk * 21 - 15
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("V2")
    Data2 = rk * 22 - 16
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("W2")
    Data2 = rk * 23 - 17
    Range(Cells(Data2, 2), Cells(Data2, 2)).Copy Range("X2")
    Data2 = rk * 25 - 19
    Range(Cells(Data2, 1), Cells(Data2, 1)).Copy Range("Y2")
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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