Avatar billede gskairo Nybegynder
21. januar 2008 - 11:48 Der er 10 kommentarer og
1 løsning

kopiering af data i excel baseret på input

Hej har et størrere problem. Jeg skal hente en masse data fra et program over i excell, men det kommer bare i en lang række i excel, så jeg skal have min data delt op i flere kolloner afhængigt af 2 parametre som ændre sig fra gang til gang.

Min data ser sådeles ud
A
B
C
1
2
3
x
y
z
og sklulle se sådanne ud
A 1 x
B 2 y
C 3 z

Baseret på 2 inputs. er der nogle der ved hvordan jeg løser dette problem?

Jeg tænkte lidt 2 input bokse men jeg kan ikke få det til at virke ordenligt :(
Avatar billede jlemming Nybegynder
21. januar 2008 - 12:40 #1
Har du prøvet om import funktionen kan klare det ?
Avatar billede jlemming Nybegynder
21. januar 2008 - 13:07 #2
denne kode deler din række og flytter det til den næste kolonne.

Den kan du så køre flere gange. Hvis du ønsker det ?, kan det også udføres så den del i fra den celle hvor du står

Sub Button1_Click()
    Set ws = ActiveSheet
   
    rk = InputBox("del fra række ?")
    cl = InputBox("i kolonne ?", , "A")
    mylastrow = ws.Cells(ws.Rows.Count, cl).End(xlUp).Offset(0, 0).Row
   
    Range(cl & rk & ":" & cl & mylastrow).Copy Range(cl & "1").Offset(0, 1)
    Range(cl & rk & ":" & cl & mylastrow).ClearContents

End Sub
Avatar billede gskairo Nybegynder
21. januar 2008 - 13:33 #3
Importereingen virker ikke på andre måder desværre  :( det havde nu alligevel været det letteste.

DEt ser ud til at virke :D så må jeg lige hører om jeg ikke kunne få dig til at vise mig hvordan jeg får den til at loope koden hvis jeg feks angiver hvor mange gange det skal gøres.
Avatar billede jlemming Nybegynder
21. januar 2008 - 13:47 #4
således?

Sub Button2_Click()
    Set ws = ActiveSheet
    antal = InputBox("antal loop ?")
    For t = 1 To antal
        rk = InputBox("del fra række ?", , rk)
        cl = InputBox("i kolonne ?", , "A")
        mylastrow = ws.Cells(ws.Rows.Count, cl).End(xlUp).Offset(0, 0).Row
       
        Range(cl & rk & ":" & cl & mylastrow).Copy Range(cl & "1").Offset(0, 1)
        Range(cl & rk & ":" & cl & mylastrow).ClearContents
  Next t
End Sub
Avatar billede gskairo Nybegynder
21. januar 2008 - 14:02 #5
njaa, den ved jo hvor den skal klippe og i hvilken række den starter så kan den loope uden man behøver at genindtaste dataen hver gang?
Avatar billede jlemming Nybegynder
21. januar 2008 - 14:38 #6
kommer her...


Sub Button2_Click()
    Dim rk As Integer
    Dim cl As Integer
    Set ws = ActiveSheet
    antal = InputBox("antal loop ?")
    cl = 1
    cl = InputBox("start fra kolonne? (som tal!)", , cl)
    For t = 0 To antal - 1
        rk = InputBox("del fra række ?", , rk)
        mylastrow = ws.Cells(ws.Rows.Count, cl + t).End(xlUp).Offset(0, 0).Row
        Range(Cells(rk, cl + t), Cells(mylastrow, cl + t)).Copy Range(Cells(1, cl + t + 1), Cells(1, cl + t + 1))
        Range(Cells(rk, cl + t), Cells(mylastrow, cl + t)).ClearContents
  Next t
End Sub
Avatar billede gskairo Nybegynder
22. januar 2008 - 08:30 #7
Det promter stadig efter kolonne række. Kan det flyttes ud af loopen? Jeg kan ikke rigtigt få det til at virke.

Er det ligeledes muligt at flytte resultatet 1 række ned så den starter i celle 2 istedet for 1 hver gang og lader celle 1 stå uændret?
Avatar billede gskairo Nybegynder
22. januar 2008 - 08:53 #8
jeg fik offsettet til at virke men kan ikke få promten flyttet ud af loopen uden den fejler.
Avatar billede jlemming Nybegynder
22. januar 2008 - 09:01 #9
Det skulle bare være at flytte linien


Sub Button2_Click()
    Dim rk As Integer
    Dim cl As Integer
    Set ws = ActiveSheet
    antal = InputBox("antal loop ?")
    cl = 1
    cl = InputBox("start fra kolonne? (som tal!)", , cl)
        rk = InputBox("del fra række ?", , rk)
    For t = 0 To antal - 1
        mylastrow = ws.Cells(ws.Rows.Count, cl + t).End(xlUp).Offset(0, 0).Row
        Range(Cells(rk, cl + t), Cells(mylastrow, cl + t)).Copy Range(Cells(1, cl + t + 1), Cells(1, cl + t + 1))
        Range(Cells(rk, cl + t), Cells(mylastrow, cl + t)).ClearContents
  Next t
End Sub
Avatar billede gskairo Nybegynder
22. januar 2008 - 09:13 #10
Det virker. computere hader mig det må være svaret på hvorfor jeg ikke kunne få det til at virke ;-)

1000 tak. Der er en masse andet jeg også skal have den til at kunne men det her var en stor hjælp.
Avatar billede jlemming Nybegynder
22. januar 2008 - 09:28 #11
Hermed 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
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