Avatar billede FieKornum Nybegynder
27. oktober 2009 - 11:06 Der er 25 kommentarer og
1 løsning

Automatisk sortering efter navne i andre ark

Hvis jeg har et ark med en masse oplysninger i, her i blandt en spalte med forskellige navne, kan jeg sä automatisk sortere mine oplysninger i ark alt efter  navne i spalten, sä hver gang jeg har oplysninger, der et knyttet til et bestemt navn, kommer de ind under arket, der tilhörer denne person? Der er tale om fire forskellige navne og 10 forskellige oplysninger, som skal träkkes med.
Avatar billede vejmand Juniormester
27. oktober 2009 - 12:08 #1
Upload evt. dokumentet her: http://www.gratisupload.dk/
Så kigger jeg på det.
PS: Det må ikke være 2007 udgaven...
Avatar billede FieKornum Nybegynder
27. oktober 2009 - 13:07 #2
Den er uploaded nu. Den hedder Kostenstelle til upload. Jeg har fjernet närmest alt data i den, da jeg ikke kan dele det, men det skulle väre til at forstä meningen alligevel. Det er ikke det päneste opsatte excel, men det kommer senere..
Avatar billede FieKornum Nybegynder
27. oktober 2009 - 13:13 #3
Jeg havde tänkt at man kunne lave et eller andet med at lave en IF forespörgsel, hvor hvis Sheet1  colum F er lig et bestemt navn tag alt information fra den räkke og placer det i näste frie plads i sheet hvor koden er.
Avatar billede vejmand Juniormester
27. oktober 2009 - 13:41 #4
Den kan jeg desværre ikke klare. Tror ikke det kan laves med en IF formel, når den skal finde data fra så mange rækker.
Måske noget VBA? Men det kender jeg desværre ikke noget til....

Håber der kommer en mere kyndig forbi dit spørgsmål.
Avatar billede FieKornum Nybegynder
27. oktober 2009 - 13:57 #5
Er det ikke muligt at lave en if forespärgsel til hver forskellig räkke der skal modtage information mäske? Sä noget med hvis IW er i $F3, ark1, tag info fra kolonne 7, Ark1 (eller noget) og put i näste frie plads i kolonne kolonne 7 i arket hvor formlen er skrevet i?  Jeg er ikke sä god i Excel sproget, men mäske noget i den stil kunne virke?
Avatar billede tjacob Juniormester
27. oktober 2009 - 14:07 #6
Hej FieKornum

Jeg vil give vejmand ret i at der nok skal VBA til, og det kan jeg hjælpe dig med. Jeg har lige et par opklarende spørgsmål:

Det er samtlige kolonner på første ark der skal overføres til de andre ark? (undtagen Projektinhaber).

Jeg går ud fra at der løbende vil komme nye poster (rækker) på første ark? Og at disse skal overføres til de andre ark?

Hvad betyder de manglende datoer i første ark?
Avatar billede FieKornum Nybegynder
27. oktober 2009 - 14:26 #7
Hej tjacob,

Det lyder godt, jeg har ingen idé om hvad VBA er, men söger lige lidt pä det.  Til dine spörgsmäl.

Alle "Verwendungszweckzeile" altsä H-Q behöver ikke at komme med.

Ja der vil löbende komme nye poster som skal overföres.

De manglende datoer i förste akr, skal du bare se bort fra, det er datoer som af en eller anden grund ikke er kendte. I fremtiden kommer der ikke nogle poster uden datoer, sä hvis det er nödvendigt for VBA, kan vi bare skrive nogle fiktive.

Mvh
FieKornum
Avatar billede tjacob Juniormester
27. oktober 2009 - 14:36 #8
VBA vil i denne sammenhæng blot sige lidt programmeringskode der automatiserer opgaver, altså makroer.
Man behøver -strengt taget- ikke kende det for at bruge det, hvis man har en færdig makro, som jeg vil forsøge at lave.

Jeg vender tilbage en gang i morgen......
Avatar billede FieKornum Nybegynder
27. oktober 2009 - 14:47 #9
Super, jeg har lige uploaded en ny fil - den er lidt lettere at gennemskue.. (men närmest den samme.. Den hedder Kostenstelle til  upload2.

Tak for hjälpen!
Avatar billede tjacob Juniormester
28. oktober 2009 - 15:04 #10
Så har jeg lavet et forsøg. Jeg har fyldt dit ark med testdata, og lavet koden. Sidste fane i arket har en forklaring på hvad du skal gøre. Arket findes her:
http://www.gratisupload.dk/download/35330/

og hedder KostenstelleVBA.xls
Avatar billede tjacob Juniormester
28. oktober 2009 - 15:06 #11
For andre der måtte være interesserede er koden her:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    Application.ScreenUpdating = False
    Dim i As Long, j As Long, k As Long
    Dim sNames(3) As String
    Dim lPosts(3) As Long
    For i = 2 To 5
        sNames(i - 2) = Sheets(i).Name
    Next i
    Sheets(1).Select
    j = Range("F3").End(xlDown).Row
    For i = 3 To j
        For k = 0 To 3
            If LCase(Cells(i, 6)) = LCase(sNames(k)) Then
                lPosts(k) = lPosts(k) + 1
                Exit For
            End If
        Next k
    Next i
    Dim Data2() As Variant
    ReDim Data2(lPosts(0), 5)
    Dim Data3() As Variant
    ReDim Data3(lPosts(1), 5)
    Dim Data4() As Variant
    ReDim Data4(lPosts(2), 5)
    Dim Data5() As Variant
    ReDim Data5(lPosts(3), 5)
    Dim Count(3) As Long
    For i = 3 To j
        Select Case LCase(Cells(i, 6))
            Case LCase(sNames(0))
                Count(0) = Count(0) + 1
                For k = 0 To 4
                    Data2(Count(0), k) = Cells(i, k + 1).Value
                Next k
                Data2(Count(0), 5) = Cells(i, 7).Value
            Case LCase(sNames(1))
                Count(1) = Count(1) + 1
                For k = 0 To 4
                    Data3(Count(1), k) = Cells(i, k + 1).Value
                Next k
                Data3(Count(1), 5) = Cells(i, 7).Value
            Case LCase(sNames(2))
                Count(2) = Count(2) + 1
                For k = 0 To 4
                    Data4(Count(2), k) = Cells(i, k + 1).Value
                Next k
                Data4(Count(2), 5) = Cells(i, 7).Value
            Case LCase(sNames(3))
                Count(3) = Count(3) + 1
                For k = 0 To 4
                    Data5(Count(3), k) = Cells(i, k + 1).Value
                Next k
                Data5(Count(3), 5) = Cells(i, 7).Value
        End Select
    Next i
    Sheets(sNames(0)).Select
    j = Range("F3").End(xlDown).Row
    If j < 1000 Then
        Rows("3:" & CStr(j + 5)).Select
        Selection.Delete Shift:=xlUp
    End If
    For i = 1 To UBound(Data2, 1)
        For k = 1 To 5
            Cells(i + 2, k).Value = Data2(i, k - 1)
        Next k
        Cells(i + 2, 6).Value = sNames(0)
        Cells(i + 2, 7).Value = Data2(i, 5)
    Next i
    Rows(CStr(i + 3) & ":" & CStr(i + 3)).Interior.Color = RGB(0, 153, 0)
    Cells(i + 3, 1).Formula = "SUMMEN"
    Cells(i + 3, 2).Formula = "=SUM(B3:B" & CStr(i + 1) & ")"
    Cells(i + 3, 3).Formula = "=SUM(C3:C" & CStr(i + 1) & ")"
    Cells(i + 4, 1).Formula = "DIFF"
    Cells(i + 4, 3).Formula = "=B" & CStr(i + 3) & "+C" & CStr(i + 3)
    Cells(1, 1).Select
    Sheets(sNames(1)).Select
    j = Range("F3").End(xlDown).Row
    If j < 1000 Then
        Rows("3:" & CStr(j + 5)).Select
        Selection.Delete Shift:=xlUp
    End If
    For i = 1 To UBound(Data3, 1)
        For k = 1 To 5
            Cells(i + 2, k).Value = Data3(i, k - 1)
        Next k
        Cells(i + 2, 6).Value = sNames(1)
        Cells(i + 2, 7).Value = Data3(i, 5)
    Next i
    Rows(CStr(i + 3) & ":" & CStr(i + 3)).Interior.Color = RGB(0, 153, 0)
    Cells(i + 3, 1).Formula = "SUMMEN"
    Cells(i + 3, 2).Formula = "=SUM(B3:B" & CStr(i + 1) & ")"
    Cells(i + 3, 3).Formula = "=SUM(C3:C" & CStr(i + 1) & ")"
    Cells(i + 4, 1).Formula = "DIFF"
    Cells(i + 4, 3).Formula = "=B" & CStr(i + 3) & "+C" & CStr(i + 3)
    Cells(1, 1).Select
    Sheets(sNames(2)).Select
    j = Range("F3").End(xlDown).Row
    If j < 1000 Then
        Rows("3:" & CStr(j + 5)).Select
        Selection.Delete Shift:=xlUp
    End If
    For i = 1 To UBound(Data4, 1)
        For k = 1 To 5
            Cells(i + 2, k).Value = Data4(i, k - 1)
        Next k
        Cells(i + 2, 6).Value = sNames(2)
        Cells(i + 2, 7).Value = Data4(i, 5)
    Next i
    Rows(CStr(i + 3) & ":" & CStr(i + 3)).Interior.Color = RGB(0, 153, 0)
    Cells(i + 3, 1).Formula = "SUMMEN"
    Cells(i + 3, 2).Formula = "=SUM(B3:B" & CStr(i + 1) & ")"
    Cells(i + 3, 3).Formula = "=SUM(C3:C" & CStr(i + 1) & ")"
    Cells(i + 4, 1).Formula = "DIFF"
    Cells(i + 4, 3).Formula = "=B" & CStr(i + 3) & "+C" & CStr(i + 3)
    Cells(1, 1).Select
    Sheets(sNames(3)).Select
    j = Range("F3").End(xlDown).Row
    If j < 1000 Then
        Rows("3:" & CStr(j + 5)).Select
        Selection.Delete Shift:=xlUp
    End If
    For i = 1 To UBound(Data5, 1)
        For k = 1 To 5
            Cells(i + 2, k).Value = Data5(i, k - 1)
        Next k
        Cells(i + 2, 6).Value = sNames(3)
        Cells(i + 2, 7).Value = Data5(i, 5)
    Next i
    Rows(CStr(i + 3) & ":" & CStr(i + 3)).Interior.Color = RGB(0, 153, 0)
    Cells(i + 3, 1).Formula = "SUMMEN"
    Cells(i + 3, 2).Formula = "=SUM(B3:B" & CStr(i + 1) & ")"
    Cells(i + 3, 3).Formula = "=SUM(C3:C" & CStr(i + 1) & ")"
    Cells(i + 4, 1).Formula = "DIFF"
    Cells(i + 4, 3).Formula = "=B" & CStr(i + 3) & "+C" & CStr(i + 3)
    Cells(1, 1).Select
    Sheets(1).Select
    Cells(1, 1).Select
    Application.ScreenUpdating = True

End Sub
Avatar billede FieKornum Nybegynder
28. oktober 2009 - 16:06 #12
WAUW! Det ser fantastisk ud!

Jeg prøver den på originalen i aften!

Tak virkelig!

Jeg vil gerne give dig point selvfølgelig, men du skal skrive et eller andet som 'svar' ikke 'kommentar'.

Mvh
Fie
Avatar billede tjacob Juniormester
28. oktober 2009 - 17:49 #13
Jeg lægger et svar her, men du skal ikke acceptere før du har fået det til at virke.
Avatar billede tjacob Juniormester
28. oktober 2009 - 17:50 #14
-Glemte at lave det som svar.
Avatar billede FieKornum Nybegynder
29. oktober 2009 - 08:34 #15
Det virker!!

Mange tak for hjælpen, det havde jeg aldrig selv fundet ud af!
Avatar billede FieKornum Nybegynder
29. oktober 2009 - 10:19 #16
Er det ok hvis jeg foraterer kolonne B og C til euro i de fire faner?
Avatar billede FieKornum Nybegynder
29. oktober 2009 - 10:38 #17
tjacob er det muligt pä samme mäde at sortere efter projektnavne. Der er en masse forskellige projektnavn og de skal sorteres under den samme fane Prokejtweise, men mellem hvert projekt skal summen. Jeg stiller det som et "spörgsmäl" senere, men nu har du set mit dokument og ved mäske bedre om det kan lade sig göre?

Mvh fie
Avatar billede tjacob Juniormester
29. oktober 2009 - 11:50 #18
1) Ja, du kan formatere kolonnerne som du vil (undtagen A der skal være dato)

2) Ja, Det kan godt lade sig gøre. De samme kolonner som i de andre ark? Projekter listes alfabetisk? (eller i den rækkefølge de kommer? -eller efter dato?) med en sum linie imellem hvert projekt?


Der er desuden et par forudsætninger mere til dit ark som jeg ikke fik nævnt før:

-De 4 navneark SKAL være ark 2 til 5
-På Bank 09 arket SKAL der være en tom række i bunden mellem data og SUM-rækken.
Avatar billede FieKornum Nybegynder
29. oktober 2009 - 12:10 #19
Det skal väre de samme kolonner som de andre ark. Alfabetisk ville väre super og med sum linje mellem hvert projekt. Sagen er den at der kan komme nye projekter til, samt at de forskellige projekters antal poster ikke er lige store.

Tak for forudsätningerne, det vil jeg huske!
Avatar billede tjacob Juniormester
29. oktober 2009 - 12:31 #20
OK, jeg ændrer koden så projektweise også fyldes.
Vender tilbage i morgen......
Avatar billede tjacob Juniormester
29. oktober 2009 - 18:51 #21
Her er et opdateret ark, med forklaring på sidste fane ligesom sidst. Arket hedder KostenstelleVBA2.xls.
Det er her: http://www.gratisupload.dk/download/35365/
Avatar billede FieKornum Nybegynder
30. oktober 2009 - 10:55 #22
Jeg kan ikke fä det til at virke denne gang. Den siger: Compile error: Variable not defined. När jeg siger OK til det, markerer den xlSortOnValues i koden.
Avatar billede FieKornum Nybegynder
30. oktober 2009 - 11:05 #23
Den sorterer stadig de förste, men viser #### ved summen og nogle gange DIFF og den sorterer slet ikke i Projektweise.
Avatar billede tjacob Juniormester
30. oktober 2009 - 12:01 #24
Ja, så har vi desværre et problem, for fejlen opstår fordi jeg har lavet det hele i Excel 2007. Selvom jeg gemmer i det "gamle" Excel 97-03 format, så er der visse funktioner der ikke er ens i de to udgaver, og Sort er åbenbart en af dem.

Jeg kan desværre ikke rette det til, da jeg kun har 2007-udgaven installeret.

Du kan gøre det, at du sætter et enkelt anførselstegn foran Call FindProjekter i ThisWorkbook.

Så er det kun koden der skriver til de 4 navneark der bliver kørt.
Avatar billede FieKornum Nybegynder
30. oktober 2009 - 12:25 #25
Sä i virkeligheden hvis jeg ligger koden ug i forum og spörger om der er nogle som kan fä den til at virke i det gl. format, sä burde det kunne lade sig göre, eller?

Öv det var en skam!
Avatar billede tjacob Juniormester
30. oktober 2009 - 12:50 #26
Ja, det kunne da godt tænkes.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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