• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Cellen leegmaken die dezelfde waarden bevatten.

Status
Niet open voor verdere reacties.

Startkick

Nieuwe gebruiker
Lid geworden
15 okt 2012
Berichten
4
Hallo,

Ik heb een vraag.

Ik heb in Excel 2010 een werkblad met allemaal getallen.
Deze staan in de cellen B3:AT43
In de cellen AW2:BB13 wil ik vervolgens getallen invullen.

Is het mogelijk om in de cellen B3:AT43 alle getallen die in AW2:BB13 voorkomen,
leeg te maken??

Ik wil de cellen leegmaken, dus niet met een voorwaardelijke opmaak,
want dan klopt het aantal overgebleven cellen met cijfers erin niet meer.

Ik hoop dat jullie mij hiermee kunnen helpen.


Alvast bedankt!
 
Code:
Sub test()

For Each cl In Sheets(1).Range("AW2:BB33")
    c01 = c01 & "|" & cl.Value
Next

For Each cl In Sheets(1).Range("B3:AT43")
    If InStr(c01, "|" & cl.Value & "|") > 0 Then cl.ClearContents
Next

End Sub

Niels
 
Hoi Niels,

Bedankt voor je snelle reactie,

Als ik deze code invoer dan gebeurt er niets. als ik bijvoorbeeld 1 invul in AW2
dan worden de cellen die een 1 bevatten in B3:AT43 niet leeg.
 
Dat vroeg je ook niet,
Je wilt hem dus op een celwijziging laten reageren?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("AW2:BB33")) Is Nothing Then
    sq = Sheets(1).Range("B3:AT43")
    For i = 1 To UBound(sq)
        For j = 1 To 45
            If sq(i, j) = Target.Value Then sq(i, j) = ""
        Next
    Next
    Sheets(1).Range("B3").Resize(UBound(sq), 45).Value = sq
End If
End Sub

Niels
 
Laatst bewerkt:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("AW2:BB33")) Is Nothing Then
    sq = Sheets(1).Range("B3:AT43")
    For i = 1 To UBound(sq)
        For j = 1 To UBound(sq, 2)
            If sq(i, j) = Target.Value Then sq(i, j) = ""
        Next
    Next
    Sheets(1).Range("B3").Resize(UBound(sq), UBound(sq, 2)).Value = sq
End If
End Sub

Niels
 
Laatst bewerkt:
De macro nog even aangepast in vorige post.

Zet je de vraag dan op opgelost.

Niels
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan