Avatar billede quark-8382 Nybegynder
15. april 2005 - 21:02 Der er 7 kommentarer og
1 løsning

Slet dubletter igen

Hej

Jeg har et ark hvor der er en del dubletter, men jeg bliver nødt til at sikre mig at alle kolonner fra A til I er ens inden jeg sletter, alle data er sorteret så dubletterne står lige under hinanden, jeg har fundet denne makro her inde den er lavet af kabbak og er i mine øjne genial :-)

Kan den rettes til så den kan løse min opgave?

den første makerer dubletter røde

Public Sub MakerDubletterRøde()
col = ActiveCell.Column
Rowcount = Cells(65536, col).End(xlUp).Row
Range(Cells(1, col), Cells(65536, col).End(xlUp)).Select
For I = 1 To Rowcount
If Cells(I, col).Interior.ColorIndex <> 3 Or Cells(I, col) <> "" Then
For I1 = I + 1 To Rowcount
If Cells(I, col) = Cells(I1, col) Then
Cells(I1, col).Interior.ColorIndex = 3
End If
Next
End If
Next
End Sub

denne køres efter at du har tjekket om det er ok, så slettes de.
Public Sub FjernDubletterRøde()
col = ActiveCell.Column
Rowcount = Cells(65536, col).End(xlUp).Row
Range(Cells(1, col), Cells(65536, col).End(xlUp)).Select
For I = 1 To Rowcount
If Cells(I, col).Interior.ColorIndex = 3 Then
Cells(I, col).EntireRow.Delete Shift:=xlUp
I = I - 1
Rowcount = Rowcount - 1
End If
Next
End Sub
Avatar billede bak Seniormester
16. april 2005 - 19:08 #1
Det kan den sikkert, men kan du ikke uddybe hvad opgaven er ?
Jeg har lidt problemer med at forstå hvad du ønsker at gøre før du chekker for dubletter.
Avatar billede quark-8382 Nybegynder
16. april 2005 - 20:04 #2
Jo, nu skal jeg prøve, det som jeg mente var at celle indholdet i A,B,C,D,E,F,G,H og I skal sammenlignes med celler i rækken under.
Hvis celle indholdet i række under hinanden er ens fra A til I.

celler i kolonne A indholder tal
B også Tal
C = tekst, tal og tekst
D
Avatar billede quark-8382 Nybegynder
16. april 2005 - 20:10 #3
Ups, ramte lige send, prøver lige igen.

Jo, nu skal jeg prøve, det som jeg mente var at celle indholdet i A,B,C,D,E,F,G,H og I skal sammenlignes med celler i rækken under.
Hvis celle indholdet i række under hinanden er ens fra A til I skal denne laves rød.

celler i kolonne A indholder tal
B også Tal
C = tekst, tal og tekst
D = tal indholdende Bogstaver
E = tekst
F = tekst
G = tal
H = klokkeslet
I = klokkeslet

Håber at dette kastede lidt mere lys

mvh. Heinrich
Avatar billede bak Seniormester
16. april 2005 - 21:10 #4
Så har jeg et forslag der bygger på avanceret filter.
Jeg nøjes med at farve celler i kolonne A, men der chekkes på A:H

Sub FarvCeller()
Dim rCell As Range
Dim lLastRow As Long
  Application.ScreenUpdating = False
  lLastRow = Range("A65536").End(xlUp).Row
  Range("A1:H" & lLastRow).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
  For Each rCell In Range("A1:A" & lLastRow)
      If rCell.EntireRow.Hidden = True Then rCell.Interior.Color = vbRed
  Next
  ActiveSheet.ShowAllData
  Application.ScreenUpdating = True
End Sub
Avatar billede quark-8382 Nybegynder
16. april 2005 - 22:03 #5
Hej bak
mange tak, det virker!

Så skal jeg bare se om jeg kan gennemskue den, for man skal jo' lære. :-)

Husk at smid et svar.

Heinrich
Avatar billede bak Seniormester
16. april 2005 - 22:16 #6
Du kan da også få lidt forklaring med :-)

Sub FarvCeller()
Dim rCell As Range
Dim lLastRow As Long
'slå skærmopdatering fra pga. speed
  Application.ScreenUpdating = False
 
  'find sidste række i kolonne A
  lLastRow = Range("A65536").End(xlUp).Row
 
  'sæt avanceret filter på dataområdet, således at kun
  'unikke poster er vist. dvs dubletter er så gemt.
  Range("A1:H" & lLastRow).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
 
  'gå alle rækker i kolonne A igennen og se om rækken er gemt
  'hvis den er gemt er det fordi det er en dublet og så skal den farves
  For Each rCell In Range("A1:A" & lLastRow)
      If rCell.EntireRow.Hidden = True Then rCell.Interior.Color = vbRed
  Next
  'Fjern filteret igen og vis alle data
  ActiveSheet.ShowAllData
  'slå skærmopdatering til igen
  Application.ScreenUpdating = True
End Sub
Avatar billede quark-8382 Nybegynder
16. april 2005 - 23:10 #7
endnu engang for svaret og forklaringen.

Heinrich
Avatar billede anders1000 Nybegynder
01. juni 2010 - 20:12 #8
Hej Bak,

Kan man ændre koden, så man fx kun ser på kolonne A, B, D, E (dvs. ser bort fra hvad der står i fx kolonne C)?

Står nemlig med et case, hvor der kun er nogle kolonner som skal tjekkes for dubletter.

På forhånd tak.

Mvh.
Anders
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

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