16. oktober 2008 - 11:30
Der er
5 kommentarer og
2 løsninger
Konvertere matrix7array til rækker.
Hej,
har et problem med at konvertere min matrix om til rækker, så min database kan tolke tallene.
eks:
Navn,initialer,hold,januar,februar,marts
Peter,Pe,A,10,20,30
Peter,Pe,B,5,10,17
Mads,Ma,A,7,16,10
Mads,Ma,B,7,5,3
Dette vil jeg gerne have konverteret til følgende:
Navn,initialer,hold,måned,værdi
Peter,Pe,A,januar,10
Peter,Pe,A,februar,20
Peter,Pe,A,Marts,30
Peter,Pe,B,januar,5
Peter,Pe,B,februar,10
Peter,Pe,B,Marts,17
Mads,ma,A,januar,7
Mads,ma,A,februar,16
Mads,ma,A,Marts,10
Mads,ma,B,januar,7
Mads,ma,B,februar,5
Mads,ma,B,Marts,3
er det muligt med en simpel formel?
29. oktober 2008 - 20:04
#4
ja så skal der andre boller på suppen :-)
Sub Flyt()
Dim rng As Range
Set sh1 = Sheets("Ark1")
Set sh2 = Sheets("Ark2")
rk1 = sh1.Cells(8000, "A").End(xlUp).Row
mdr = Application.CountA(sh1.Range("D1:IV1"))
sh2.Range("A1") = "Navn": sh2.Range("B1") = "Initialer"
sh2.Range("C1") = "Hold": sh2.Range("D1") = "Måned": sh2.Range("E1") = "Værdi"
sh2.Range("A2:E8000") = "" ' sletter data i Ark2 inden nye skrives
For t = 2 To rk1
For m = 1 To mdr
rk2 = sh2.Cells(8000, "A").End(xlUp).Row + 1
sh1.Cells(t, 1).Copy sh2.Cells(rk2, 1)
sh1.Cells(t, 2).Copy sh2.Cells(rk2, 2)
sh1.Cells(t, 3).Copy sh2.Cells(rk2, 3)
Next
Next
For t = 2 To rk1
sh1.Range(Range(Cells(1, 4), Cells(1, mdr + 3)).Address).Copy
Set rng = sh2.Range("D8000").End(xlUp).Offset(1, 0)
rng.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
sh1.Range(Range(Cells(t, 4), Cells(t, mdr + 3)).Address).Copy
Set rng = sh2.Range("E8000").End(xlUp).Offset(1, 0)
rng.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
Next
ActiveCell.Select
End Sub