27. marts 2008 - 06:57Der er
14 kommentarer og 1 løsning
Scanne kolonne for gentagelse af tal/varenummer.
Hej Exp.
Jeg har et Excel regneark, hvor jeg har en kolonne med varenumre på otte tegn med udseende som xxx-xxxx eller xxxxxxxx. Kan jeg lave en makro, der kontrollerer kolonnen for, at der ikke er to ens varenumre, når jeg har oprettet et nyt? Hvis ja, hvordan? Vil gerne lære det selv, men hvis der er en venlig sjæl, der hurtigt kan fikse det, så skal personen være velkommen.
Private Sub MarkDuplicates(rlist As Range, lColor As Long) Dim Cell As Range Dim Uniqs As Object 'New Dictionary Set Uniqs = CreateObject("scripting.dictionary") Application.ScreenUpdating = False On Error Resume Next For Each Cell In rlist Uniqs.Add UCase(Cell.Value), CStr(UCase(Cell.Value)) If Err.Number <> 0 And Cell.Value <> Empty Then Cell.Interior.Color = lColor Err.Clear Next Cell Application.ScreenUpdating = True
Private Sub MarkDuplicates(rlist As Range, lColor As Long) Dim Cell As Range Dim Uniqs As Object 'New Dictionary Set Uniqs = CreateObject("scripting.dictionary") Application.ScreenUpdating = False On Error Resume Next For Each Cell In rlist navnsamlet = "" navnsplit = Split(UCase(Cell.Value), "-") For t = 0 To UBound(navnsplit) navnsamlet = navnsamlet & navnsplit(t) Next t Uniqs.Add navnsamlet, CStr(navnsamlet) 'Uniqs.Add UCase(Cell.Value), CStr(UCase(Cell.Value)) If Err.Number <> 0 And Cell.Value <> Empty Then Cell.Interior.Color = lColor Err.Clear Next Cell Application.ScreenUpdating = True
Ja, men det kan man jo komme ud over ved at lade være :-) Nej spøg til side - det er vel til at komme ud over ved at ændre koden så der kontrolleres for om det er en celle eller det er et range
Jeg har ikke lige tid til at lave den kode - men vender tilbage med status senere!
Tak, for den hurtige response og arbejde ;o) Her kommer en uddybende forklaring til anvendelsen af regnearket. Det nye varenummer er næsten magen til det eksisterende varenummer, dog med minimale ændringer. Derfor kopieres et eksisterende varenummer og dets underkomponenter til en ny række i Excel, og så erstattes det gamle varenummer i kolonne A med det nye varenummer. Oftest kopieres flere rækker af gangen, hvorfor jeg gerne vil have den "sikring" ind. Der er som minimum en underkomponent i Kolonne B, og der kan være en underkomponent i kolonnne C. Gav det lidt oplysninger I kan bruge til noget?
Med hensyn til at "slukke" igen er det nemmeste at markere alle felter og ctrl+1 og skifte farven tilbage.
Hvis du vil have en makro til det, kan du sætte den til at optage mens du gør det, tools,macro,record
Ang. tutorials prøv at søg i dette forum, der er flere henvisninger
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.