madmuppet
Terugkerende gebruiker
- Lid geworden
- 5 dec 2001
- Berichten
- 2.273
ik zit wat te knoeien met een adressenbestand. Ik heb een HELE lange lijst met gegevens, waaraan namen en adressen gekoppeld zitten. Probleem: veel van die adressen komen meerdere keren voor, in willekeurig aantal op willekeurige plaatsen in dat bestand. Ik wil echter ook graag een lijst hebben met daarin alle unieke gegevens.
Na wat VBA geknutsel is het me gelukt om alle dubbele waarden uit het bestand te verwijderen met een klein macrootje. Prachtig, maar één probleempje: ze worden verwijderd.
Ik zou het prettig vinden als ik het macrootje zo kon maken, dat de dubbele rijen alleen verborgen worden. Heb een tijdje zitten knoeien, maar het lukt niet. Wat doe ik verkeerd?
Private Sub CommandButton1_Click()
Application.Calculation = xlManual
On Error Resume Next
Rij = ActiveCell.Row
kolom = ActiveCell.Column
Do While Cells(Rij, kolom) <> ""
If Trim(Cells(Rij, kolom).Value) = Trim(Cells(Rij + 1, kolom)) Then
Rows(Rij).Select
Selection.EntireRow.Hidden = True (<<< hier gaat het fout. Alleen de eerte dubbele rij wordt verborgen, lijst schuift niet op naar boven....)
'Selection.Delete Shift:=xlUp (<<< dit is de originele regel, die VERWIJDERT de dubbele rijen)
Else
Rij = Rij + 1
End If
Loop
Cells(1, kolom).Select
Application.Calculation = xlAutomatic
End Sub
Na wat VBA geknutsel is het me gelukt om alle dubbele waarden uit het bestand te verwijderen met een klein macrootje. Prachtig, maar één probleempje: ze worden verwijderd.
Ik zou het prettig vinden als ik het macrootje zo kon maken, dat de dubbele rijen alleen verborgen worden. Heb een tijdje zitten knoeien, maar het lukt niet. Wat doe ik verkeerd?
Private Sub CommandButton1_Click()
Application.Calculation = xlManual
On Error Resume Next
Rij = ActiveCell.Row
kolom = ActiveCell.Column
Do While Cells(Rij, kolom) <> ""
If Trim(Cells(Rij, kolom).Value) = Trim(Cells(Rij + 1, kolom)) Then
Rows(Rij).Select
Selection.EntireRow.Hidden = True (<<< hier gaat het fout. Alleen de eerte dubbele rij wordt verborgen, lijst schuift niet op naar boven....)
'Selection.Delete Shift:=xlUp (<<< dit is de originele regel, die VERWIJDERT de dubbele rijen)
Else
Rij = Rij + 1
End If
Loop
Cells(1, kolom).Select
Application.Calculation = xlAutomatic
End Sub