Avatar billede lineriber Praktikant
28. april 2011 - 12:11 Der er 7 kommentarer og
1 løsning

Konverter datatabel med måned i hver sin kolonne, til måned en række pr. måned

Hej Eksperter

Jeg har et budget med en række pr. kontonr. og en kolonne pr. måned.
Men jeg vil gerne have den lavet om, så der for hver kontonr. (stadig i række), bliver én række pr. måned.

Kontonr.  Januar  Februar  Marts
110120    15          20          15
120111    10          30          35
130085    12          20          65
140070    60          55          75
150566    10          10          12

Skal konverteres til:
Kontonr.  Måned        DKK
110120    Januar        15
110120    Februar      20
110120    Marts          15
120111    Januar        10
120111    Februar      30
120111    Marts            35
...
...

Nogen der har et tip til hvordan det gøres forholdsvis nemt?

Mvh
Line
Avatar billede lineriber Praktikant
28. april 2011 - 12:13 #1
Hovsa, der havde da vist lige sneget sig et ekstra "til måned" ind i overskriften! Sorry.
Avatar billede lineriber Praktikant
28. april 2011 - 12:56 #2
Hov, glemte også lige at skrive at det er Excel 2003, engelsk version.
Avatar billede supertekst Ekspert
28. april 2011 - 14:07 #3
Sub konverterBudget()
Dim sidsteRæk As Long, sidsteKol As Long
Dim ræk As Long, kol As Long, ræk2 As Long, kontonr As Long, måned As String
Dim ark1 As Worksheet, ark2 As Worksheet
    Set ark1 = ActiveWorkbook.Sheets("Ark1")
    Set ark2 = ActiveWorkbook.Sheets("Ark2")
   
    ark1.Activate
    sidsteRæk = ActiveCell.SpecialCells(xlLastCell).Row
    sidsteKol = ActiveCell.SpecialCells(xlLastCell).Column
   
    ræk2 = 2
   
    Application.ScreenUpdating = False

    For ræk = 2 To sidsteRæk
        kontonr = ark1.Cells(ræk, 1)
        For kol = 2 To sidsteKol
            With ark1
                måned = .Cells(1, kol)
                beløb = .Cells(ræk, kol)
            End With
           
            With ark2
                .Cells(ræk2, 1) = kontonr
                .Cells(ræk2, 2) = måned
                .Cells(ræk2, 3) = beløb
            End With
           
            ræk2 = ræk2 + 1
        Next kol
    Next ræk
End Sub
Avatar billede lineriber Praktikant
28. april 2011 - 14:41 #4
Det virker perfekt supertekst :-)
Men jeg kan ikke finde ud af at læse/forstå koden, så vil gerne have lidt mere hjælp:

Jeg havde jo selvfølgelig forsimplet mit eksempel lidt, så har brug for at vide hvordan jeg udvider koden.

Jeg har 5 kolonner med forskellige kontooplysninger i (kolonne A til E) + 12 kolonner med hver deres måneds tal i (kolonne F til Q).

Hvor i koden er det jeg skal rette det til?
Avatar billede supertekst Ekspert
28. april 2011 - 14:54 #5
Prøver at ændre koden på basis af #4 - vender tilbage..
Avatar billede supertekst Ekspert
28. april 2011 - 15:28 #6
Rem Version 2
Sub konverterBudget()
Dim sidsteRæk As Long, sidsteKol As Long
Dim ræk As Long, kol As Long, ræk2 As Long, måned As String, kontoInfo
Dim ark1 As Worksheet, ark2 As Worksheet
    Set ark1 = ActiveWorkbook.Sheets("Ark1")
    Set ark2 = ActiveWorkbook.Sheets("Ark2")
   
    ark1.Activate
    sidsteRæk = ActiveCell.SpecialCells(xlLastCell).Row
    sidsteKol = ActiveCell.SpecialCells(xlLastCell).Column
   
    ræk2 = 2
   
    Application.ScreenUpdating = False

    For ræk = 2 To sidsteRæk
        kontoInfo = ark1.Range("A" & ræk & ":E" & ræk)
       
        For kol = 6 To sidsteKol
            With ark1
                måned = .Cells(1, kol)
                beløb = .Cells(ræk, kol)
            End With
           
            With ark2
                .Range("A" & ræk2 & ":E" & ræk2) = kontoInfo
                .Cells(ræk2, 6) = måned
                .Cells(ræk2, 7) = beløb
            End With
           
            ræk2 = ræk2 + 1
        Next kol
    Next ræk
End Sub
Avatar billede lineriber Praktikant
04. maj 2011 - 12:38 #7
PERFEKT :-)
Smider du et svar supertekst?
Avatar billede supertekst Ekspert
04. maj 2011 - 13:17 #8
TAK - og 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
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