07. juni 2016 - 21:12Der er
4 kommentarer og 3 løsninger
Find data, og lav tabel med disse
På et faneblad, har jeg i 4 kolonner: B, C, D og E indtastet kontonumre. Kontonumrene er indtastede i området B10:E5000. Kontonumrene står i en tilfældig orden. Der er tomme celler i alle kolonner. Et kontonummer kan kun optræde i en kolonne, men kan optræde mange gange i samme kolonne.
Jeg søger en løsning der viser hvilke kontonumre der optræder i hver kolonne. Vist som en tabel i kolonnerne G, H, I og J, startende i linje 10 ,Dubletter skal kun vises en gang.
Sub Filtrer() Dim r, k, rk As Integer For k = 2 To 5 rk = 10 For r = 10 To 5000 If WorksheetFunction.CountIf(Range(Cells(10, k + 5), Cells(5000, k + 5)), Cells(r, k)) = 0 Then Cells(rk, k + 5) = Cells(r, k) rk = rk + 1 End If Next Next End Sub
Prøv med denne makro. Jeg har også sat en ClearContents linie ind i starten.
Sub Filtrer() Dim r, k, rk As Integer Range("G10:J5000").ClearContents For k = 2 To 5 rk = 10 For r = 10 To 5000 If WorksheetFunction.CountIf(Range(Cells(10, k + 5), Cells(5000, k + 5)), Cells(r, k)) = 0 Then Cells(rk, k + 5) = Cells(r, k) rk = rk + 1 End If Next Range(Cells(10, k + 5), Cells(5000, k + 5)).Select ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range(Cells(10, k + 5), Cells(5000, k + 5)) _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.ActiveSheet.Sort .SetRange Range(Cells(10, k + 5), Cells(5000, k + 5)) .Header = False .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Next Cells(1, 1).Select End Sub
Det virker. Mange tak. Men første gang jeg eksekverede makroen. Fandt den kun kontonumrene uden at sortere. jeg prøvede så igen, og vupti virkede det.
Synes godt om
Ny brugerNybegynder
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.