Avatar billede FlikFlak9000 Nybegynder
18. december 2011 - 08:04 Der er 5 kommentarer og
1 løsning

sotering af af liste

Hej

Jeg har et ark med 1200 liner som jeg gerne vil have sorteret ud på 8 andre ark. hvilket ark bestemmes af värdien i kolonne H.
Jeg har data i kolonne A til H.
A artikkelnummer B navn c Mål d Farve e antal f pris g sum H afdeling.
hvis det er muligt vil jeg gerne have kolonnerne f og g skjulte på de nye ark eller at de ikke kommer med over.


Håber i kan hjälpe mig.
Avatar billede supertekst Ekspert
18. december 2011 - 11:30 #1
spm 946441 kan måske være inspiration?
Avatar billede H_Klein Novice
10. januar 2012 - 21:56 #2
Er det her spørgsmål stadig aktuelt?
Avatar billede FlikFlak9000 Nybegynder
11. januar 2012 - 07:14 #3
ikke super aktuel mere, men jeg har dog ikke fundet en lösning jeg synes var god. har kigget på spm 946441 men kan ikke helt få det til at virke. (noget med tid og kundskaber)
Avatar billede H_Klein Novice
13. januar 2012 - 18:44 #4
Hej igen,

Du kan jo evt. se om nedenstående kan bruges.

Jeg udgår i dette tilfælde fra, at det ark hvor du har alle dine data hedder Ark1.

-------------------------------------------------

Option Explicit

Sub Sortering()

    Dim Afd As String
    Dim RK As Long
    Dim RK1 As Long
    Dim Ax As Long
    Dim Start As String
   
    Range("H2").Select
    Range("A2:H19500").Sort Key1:=Range("H2"), Order1:=xlAscending, Header:= _
        xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
   
    Start = Cells(2, 8)
    Do
    RK = 2
    RK1 = RK - 1
    Sheets("Ark1").Select
    Do
    If Cells(RK, 8) <> Cells(RK1, 8) Then
    Afd = Cells(RK, 8)
    Sheets.Add.Name = Afd
    Sheets("Ark1").Select
    Cells.Select
    Selection.Copy
    Sheets(Afd).Select
    ActiveSheet.Paste
    Cells(2, 1).Select
    Sheets("Ark1").Select
    RK = RK + 1
    RK1 = RK1 + 1
    Else
    RK = RK + 1
    RK1 = RK1 + 1
    End If
    Loop Until Cells(RK, 1) = ""
    Loop Until ActiveSheet.Name = "Ark1"
    Application.CutCopyMode = False
    Cells(2, 1).Select
    Sheets(Start).Select
   
    Do
    RK = 2
    Afd = ActiveSheet.Name
    Do
    If Cells(RK, 8) <> Afd Then
    Cells(RK, 8).Select
    Selection.EntireRow.Delete
    Else
    RK = RK + 1
    End If
    Loop Until Cells(RK, 1) = ""
    ActiveSheet.Next.Activate
    Loop Until ActiveSheet.Name = "Ark1"
    Cells(2, 1).Select
End Sub


----------------------------------------------------

Håber det er noget Du kan bruge

Med venlig hilsen

Henrik
Avatar billede FlikFlak9000 Nybegynder
23. januar 2012 - 09:24 #5
Hej

efter lidt arbejde fik jeg det til at fungere, smid et svar så jeg kan afslutte spgm.

tak for hjälpen
Avatar billede H_Klein Novice
23. januar 2012 - 17:19 #6
Glad for at du fik det til at virke :-)
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
Kurser inden for grundlæggende programmering

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