06. august 2003 - 14:58Der er
9 kommentarer og 1 løsning
Fjerne flere forekomster af samme celle baseret på indhold
Hi,
Disse linjer sorterer og fjerner eventuelle doubletter, tripletter, etc.
Columns("B:B").Sort Key1:=Range("B1") Range("B1").Select Do Until Len(ActiveCell.Value) = 0 strSender = ActiveCell.Value ActiveCell.Offset(1, 0).Select strSenderCompare = ActiveCell.Value If strSender = strSenderCompare Then ActiveCell.Delete Shift:=xlUp Else ActiveCell.Offset(1, 0).Select End If Loop
funktionen virker, men der må være en lettere (og hurtigere) måde at gøre det på...?
Med udgangspunkt i din egen makro. Den "fjerner" ikke de overskydende celler men sorterer igen tilsidst således at de kommer nedest og er blanke.
Sub test() Dim ThisCell As Range Columns("B:B").Sort Key1:=Range("B1") Set ThisCell = Range("B1") Do Until Len(ThisCell.Value) = 0 i = 1 While ThisCell.Value = ThisCell.Offset(i, 0).Value ThisCell.Offset(i, 0).Value = "" i = i + 1 Wend Set ThisCell = ThisCell.Offset(i, 0) Loop Columns("B:B").Sort Key1:=Range("B1") End Sub
Hastigheden her burde være betydelig bedre, men den kan ikke slå Avanceret filter. grunden til at din er langsommere, er dine Select's og ActiveCell.Delete Shift:=xlUp
Lige et spørgsmål. Hvis man har lavet et avanceret filter, hvor nogle rækker er filtreret fra, vil de disse række så medtages fx i beregningsprocedurerer der går fra celle til celle i en kolonne? Eller vil de blive springet helt over?
Hvis du bruger avanceret filter på den måde, at du lader data blive i det oprindelige område, vil de skjulte celler stadig indgå i beregninger af typen =SUM(B1:B199)
Men hvis du bruger avanceret filter, og indsætter data et andet sted, vil dubletter være fjernet helt fra listen.
Lige en sidste ting (beklager). Er der meget stor forskelig i hastighed hvis man filtrerer på en hel kolonne ift. at finde det område at kolonnen, hvor der er "cellefyld" og derefter filtrere på det område?
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.