Avatar billede xjln Juniormester
14. december 2003 - 17:57 Der er 3 kommentarer og
1 løsning

"Kopiere" værdier i en kolonne til rækker, hvordan? evt. VBA

I kolonne C på ark 1 har jeg 1400 beregnede data.
Disse data vil jeg gerne have "flyttet" til ark 2 (udskriftarket) således at
de 10 første i kolonnen placeres i række 6 A til J, de 10 næste i kolonnen
placeres i række 7 A til J osv. på den måde bliver der på ark 2
(udskriftarket) 140 rækker med data.

Hvordan kan dette laves smart, så man ikke skal sidde og taste det hele ind?

Jeg har prøvet med fyldehåndet men det lykkedes ikke helt.
Avatar billede bak Forsker
14. december 2003 - 18:21 #1
Prø at køre denne makro. Den skal kunne gøre det selv :-)
Sub Transponer()
' Denne makro transponerer en kolonne med data
' til x nye kolonner
' Bemærk at makroen kører så længe der er data i data-kolonnen
Dim iRow As Integer
Dim iColumn As Integer
Dim iCounter As Integer
Dim IColumn2 As Integer
Dim iRecSize As Integer
Dim xArray As Range
Application.ScreenUpdating = False
iRow = 1        'sætter start-rækken for data
iColumn = 3    'sætter start-kolonnen for data Kolonne C
iCounter = 2    'sætter indsættelses-række for tranponerede data
IColumn2 = 1    'Vælger indsættelseskolonne
iRecSize = 10    'vælger Recordstørrelse

    Do Until IsEmpty(Cells(iRow, iColumn)) = True
        Set xArray = Range(Cells(iRow, iColumn), Cells(iRow + iRecSize - 1, iColumn))
        'kopierer de 10 rækker
        'fastsætter, hvor data skal indsættes
        'kopierer og transponerer de 8 rækker til slut-området
        Sheets(2).Range(Sheets(2).Cells(iCounter, IColumn2), Sheets(2).Cells(iCounter, IColumn2 + iRecSize - 1)) _
                = WorksheetFunction.Transpose(xArray)
        'sætter inddata-variabel til næste kopiering (7 rækker længere ned)
        iRow = iRow + iRecSize
        'sætter slut-variabel til næste række
        iCounter = iCounter + 1
    Loop
End Sub
Avatar billede xjln Juniormester
15. december 2003 - 11:28 #2
Tak for macroen, den virkede næsten!
Jeg tilføjede >>Sheets(1).Select<< ligefør Do Until.......
Avatar billede bak Forsker
15. december 2003 - 12:13 #3
ok, her er et svar :-)
Din tilføjelse burde være unødvendig, hvis du starter maktoen på det ark der indeholder dine oprindelige data
Avatar billede xjln Juniormester
15. december 2003 - 19:01 #4
Så skidt da du point ;-)

Jeg har efterfølgende fået denne formel som man bare kan fylde ud med flydehåndtaget.

=INDIRECT("Sheet1!C"&10*(ROW()-6)+COLUMN())
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