Avatar billede sleeper Nybegynder
13. juli 2009 - 16:23 Der er 4 kommentarer og
1 løsning

Transporner mange data

Hej

Jeg skal bruge en macro

Hvis G2 ikke er tom skal G2 til ??2 kopieres og indsættes nedad fra G2

f.eks

d2 = 10
G2 til P2 skal kopieres
og indsættes i
G2 - G3 - G4 - G5 - G6 - G7 - G8 - G9 - G10 - G11

Næste felt er så G12
D12 = 9
G12 - O12 skal kopieres
og indsættes i
G12 - G13 - G14 - G15 - G16 - G17 - G18 - G19 - G20

Næste felt er så G21
G21 = 2
G21 - H21 skal kopieres
og indsættes i
G21 - G22

Dette skal forsætte til ca. G16000 og når den er blank, skal macroen så stoppe

Håber der er en der vil hjælpe med dette

Der vil altid være antal tomme rækker imellem 2 linier som svarer til Gx minus 1
dette stammer fra en tidligere macro jeg har fået lavet.
Avatar billede lerskov Praktikant
13. juli 2009 - 22:06 #1
Felter "D2 "D12" "G21" som du henviser til med "=" tegn. Er der den en sammenltælling? hvis det er bør denne kunne klare opgaven

i = 1
Cells(i, 4).Select
Do Until ActiveCell = ""
    rr = Cells(1, 4).Value + 1
    Cells(i, 8).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Cells(i + 1, 7).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Cells(i, 8).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.ClearContents
    i = i + rr
    Cells(i, 4).Select
Loop
Avatar billede sleeper Nybegynder
13. juli 2009 - 23:04 #2
Hej

Det jeg henviser til, er at D2 er antal celler der skal transponeres

f.eks

d2 = 10
G2 til P2 skal kopieres - G2 til P2 er i alt 10 celler
og indsættes i
G2 - G3 - G4 - G5 - G6 - G7 - G8 - G9 - G10 - G11

Jeg får fejl til at starte med, fordi denne forsøger at starte i række 1 den skal først starte i række 2
Avatar billede lerskov Praktikant
14. juli 2009 - 20:36 #3
Det burde være det. (håber jeg)

i = 2
Cells(i, 4).Select
Do Until ActiveCell = ""
    rr = Cells(i, 4).Value + 1
    Cells(i, 8).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Cells(i + 1, 7).Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True
    Cells(i, 8).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.ClearContents
    i = i + rr
    Cells(i, 4).Select
Loop
Avatar billede sleeper Nybegynder
15. juli 2009 - 10:05 #4
Det er simpelthen perfekt.

Tak for hjælpen, venligst lig et svar så jeg kan afslutte denne
Avatar billede lerskov Praktikant
15. juli 2009 - 14:28 #5
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
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