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.
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.
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