• 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.

Wat doe ik fout met deze VBA code ?

Status
Niet open voor verdere reacties.

Revdutchie

Gebruiker
Lid geworden
29 nov 2009
Berichten
645
Heren, en Dames natuurlijk

Op een ander forum wilde iemand rijen verwijderen bij een waarde in kolom A

Na veel geprobeer kwam ik op volgende uit wat goed lijkt te werken.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyRange As Range
Set MyRange = Range("A:A")
For Each c In MyRange
If c = "Nee" Then
c.Rows.Hidden = True
End If
Next
End Sub

Nu staat er vandaag op dit forum een vraag "If vraag" ik dacht dat los ik op met dezelfde code. De TS wil de 2 cellen rechts naast een cel leeg hebben als target cell leeg is, dus ik dacht ik maak

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyRange As Range
Set MyRange = Range("T:T")
For Each c In MyRange
If c = "" Then
c.Rows.offset(0,1) = ""
c.Rows.offset(0,2) = ""
End If
Next
End Sub

Maar dan kom ik dus in een loop terecht.

Mijn vraag is dus, waarom werkt het ogenschijnlijk in de eerste oplossing wel en in de tweede niet ?
 
Je moet het bereik beperken tot de ingevulde cellen.
Nu loopt hij de 65535 rijen af alvorens te stoppen.

Code:
Dim MyRange As Range
Set MyRange = Range("T1:T" & Range("T65500").End(xlUp).Row)
For Each c In MyRange
If c = "" Then
c.Rows.Offset(0, 1) = ""
c.Rows.Offset(0, 2) = ""
End If
Next

Suc6, Cobbe
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan