27. april 2006 - 11:37Der er
6 kommentarer og 1 løsning
Hjælp fra Oyejo
Hej Oyejo
Du svarede mig her http://www.eksperten.dk/spm/693863 og jeg konstanterede at dit svar ikke virkede. Efter noget test har jeg fået dit til at virke, men jeg har lige et par spørgsmål angående en lille udvidelse.
Jeg håber du eller andre kan hjælpe.
Mit problem er at jeg skal have udvidet makroen til at dække over 12 rækker med konti og 12 rækker med beløb (altså 24 rækker i alt i stedet for 6). Jeg har prøvet mig lidt frem, men jeg får ikke det ønskede resultat.
Hvis ikke du får noget respons har jeg muligvis en løsning uden brug af makro, hvis det har interesse. Men selvfølgelig hvis det kræver en masse tilpasning kan jeg godt forstå at du vil fortsætte med din makro :-)
Jeg kan fint leve med en tilpasning, jeg benyttede såmænd din løsning fra det ovennævnte spørgsmål.
Den er også perfekt i forhold til det jeg skal løse denne gang, problemet er bare at den tilsyneladende 'går i stykker'. Arket skal sortere 12*4500 kontonumre med tilhørende beløb (dvs. 24*4500 stk. data) og det dør den tilsyneladende af. Data er rene tal, så der burde ikke være noget, men efter at have lagt data ind laver den fejlmeddelelsen 'I/T' flere og flere steder (og som regel også tilfældige steder), så jeg frygter lidt at den simpelthen ikke kan magte det (selvom det lyder meget mærkeligt).
Send dit forslag, jeg kan sagtens bruge det.
Evt. kan du få data, jeg kan godt manipulere med cpr-numrene så de bliver uforståelige.
Eftersom du ingen respons har fået, har jeg tilladt mig at lave en makro som du kan prøve. Grunden til at regneark går død, tror jeg er fordi at der med så mange data skal foretages mange beregninger. Dette klarer makroen. Det er forudsat at dine "rå" data ligger i Ark16 og at du får indsat dine sorterede data i et nyt Ark, startende ved celle A2. Dette skal tilrettes om nødvendigt. Indsæt derfor makroen i et nyt arkmodul og kør den
Sub SorterKonto() Dim kb(), konto(), a, b, c, i, rk, col, omr, rng(1) As Range Application.ScreenUpdating = False omr = Worksheets("Ark16").Range("a2:x1000") 'Dataområde som skal sorteres kb() = omr Set rng(1) = Range("a2") 'startcelle hvor sorteringen skal placeres Range("a2:iv65536").ClearContents konto() = Range(Cells(LBound(kb, 1), 1), Cells((UBound(kb, 1) * UBound(kb, 2)) / 2, 2)) For b = 1 To UBound(kb, 1) For a = 1 To UBound(kb, 2) Step 2 If kb(b, a) <> "" Then konto(c + 1, 1) = kb(b, a) konto(c + 1, 2) = kb(b, a + 1) c = c + 1 End If Next Next Set rng(0) = Range(rng(1), rng(1).Offset(c, 1)) rng(0) = konto rng(0).Sort key1:=rng(1), Order1:=xlAscending konto() = rng(0): rng(0).ClearContents rng(1) = konto(1, 1): rng(1).Offset(, 1) = konto(1, 2) For i = 1 To c - 1 If konto(i + 1, 1) = konto(i, 1) Then rk = rk + 1: col = col + 2 rng(1).Offset(i - rk, col) = konto(i + 1, 1) rng(1).Offset(i - rk, col + 1) = konto(i + 1, 2) Else rng(1).Offset(i - rk, 0) = konto(i + 1, 1) rng(1).Offset(i - rk, 1) = konto(i + 1, 2) col = 0 End If Next Application.ScreenUpdating = True Range("a1").Activate End Sub
Det var også meget tæt på, men desværre er der et andet problem. Sorteringen virker, men mit data skal ende med at se ud som beskrevet i eksemplet http://www.eksperten.dk/spm/693863
Problemet med den makro du har lavet er at den rykker al data mod venstre og 'huller' i data bliver også rykket til venstre. Data skal altså holde kolonnerne og efterlade blanke huller hvis det er tilfældet.
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.