Avatar billede tobywan Nybegynder
08. oktober 2007 - 15:17 Der er 3 kommentarer

Udtræk på et dynamisk antal rækker

Hejsa

Når jeg tager et udtræk fra vores statistik modul får jeg en masse data ud, som jeg skal have konverteret til et lidt mere læsbart format. Udtrækket henter et dynamisk antal rækker baseret på nogle medarbejderes arbejdstid. Antallet af rækker kan altså variere fra udtræk til udtræk

Navn Navnesen
mandag
8-9
10-11
11-12
osv.

Ugen efter kan det se anderledes ud

Navn Navnesen
mandag
13-14
14-15
15-16
16-17

Jeg har brug for en strategi, så jeg alt efter navnet, et id eller lignende kan finde frem til hvormange rækker der er fra en medarbejder og ned til næste - herefter burde det jo så være muligt at skille de forskellige fra hinanden, så mit dokument kan bruges uge efter uge, altså at jeg blot kopierer mit udtræk ind, og data selv fyldes ud og beregnes efterfølgende.
Avatar billede sherlock Nybegynder
08. oktober 2007 - 15:23 #1
=COUNTA(a1:a10)

tæller de ikkeblanke celler i området
Avatar billede tobywan Nybegynder
08. oktober 2007 - 15:26 #2
Navn Navnesen
mandag
8-9
10-11
11-12
Navn Navnesen
tirsdag
13-14
14-15
15-16
16-17
Test Testesen
mandag
10-11
11-12
12-13
13-14
14-15
15-16
Test testesen
tirsdag
13-14
14-15
15-16
16-17
17-18
18-19

Problemet er, at det fra uge til uge er forskelligt hvormange rækker jeg henter ind per medarbejder. Hvis jeg skal hente data ind i et andet ark, er det vigtigt at vide, hvornår en medarbejder "slutter" og hvornår en ny starter.
Avatar billede kabbak Professor
08. oktober 2007 - 19:24 #3
Jeg har prøvet at lave det, jeg går ud fra at alt står i A kolonnen og at navnet altid er over 6 tegn langt.

Kodes sætter data ind i B kolonnen, ligesom Transponer

Public Sub Omdan()
    Dim Data As Variant, I As Long, X As Long, Str As String, Ud As Variant
    Data = Range("A1:A" & Range("A65536").End(xlUp).row + 1)
    X = 1
    For I = 1 To UBound(Data)
        If Len(Data(I, 1)) > 6 Then
            Do
                Str = Str & Data(I, 1) & ";"
                I = I + 1
            Loop Until Len(Data(I, 1)) > 10 Or IsEmpty(Data(I, 1))
            Ud = Split(Str, ";")
            Range(Cells(X, 2), Cells(X, UBound(Ud) + 1)) = Ud
            X = X + 1
            Str = ""
            I = I - 1
        End If
    Next
End Sub
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