Rijen verwijderen binnen een bereik

Status
Niet open voor verdere reacties.

Platte20

Nieuwe gebruiker
Lid geworden
30 nov 2007
Berichten
3
Hoi Forumleden,

mijn eerst boodschap hier...

Ik heb een code gemaakt die een kolom (je geeft het kolombereik op) doorzoekt. Wanneer deze een lege cel detecteert moet hij de ganse rij verwijderen. (ik werk dus met kleuren).

Nu zou ik dit principe graag toepassen op verschillende kolommen. Met andere woorden, via een inputbox wordt om een bereik gevraagd. De gebruikter vult bijvoorbeeld A3:I30 in.

Nu zou ik graag willen dat de ganse rij verwiiderd wordt wanneer de ganse rij binnen het opgegeven bereik leeg is. Dus voor de eerst rij moet A3, B3, C3, D3, E3, F3, G3, H3 en tenslotte I3 gecheckt worden.

Zijn deze allemaal leeg, dan mag rij 3 volledig over het ganse werkblad gewist worden.

Onderstaande code had ik dus al en checkt 1 kolom:

Sub DelEmptyRow()
Range("A3:A30").Select
Rng = Selection.Rows.Count
ActiveCell.Offset(0, 0).Select
Application.ScreenUpdating = False
For i = 1 To Rng
If ActiveCell.Interior.ColorIndex = xlNone Then
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Next i
Application.ScreenUpdating = True
End Sub

Iemand een idee?:thumb:
 
Een tweede poging, ik ben niet echt ervaren met VBA en heb het gevoel dat er in code toch iets fout zit met de rij doorzoeken en de eventuele rij in het bereik te wissen...

Sub DelEmptyRow()
Range("A3:C30").Select
Row = Selection.Rows.Count
Col Selection.Columns.count
ActiveCell.Offset(0, 0).Select
Application.ScreenUpdating = False
For i = 1 To Row
For j = 1 To Col
If ActiveCell.Interior.ColorIndex = xlNone Then
ActiveCell.Offset(0,1).Select
Next j
Selection.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Next i
Application.ScreenUpdating = True
End Sub
 
Heb je de link bekeken?

PS: als je code hier neerzet, kan je dat dan aub doen tussen code tags? Dat is het # teken en als je dat doet komt de code in een apart venstertje terecht.
 
Ik heb inderdaad de link bekeken.

De eerste code die erop vermeld staat laat toe een bereik met de muis te selecteren en vervolgens worden rijen waar niks is ingetypt (binnen het bereik gewist).

Die code zoekt dus op celinhoud. Hoe moet ik het veranderen opdat op kleur (lege cel) gezocht zou worden?

Ik kan wel verwoorden wat er moet gebeuren:

Je selecteert een bereik, een tellertje loopt van links naar rechts doorheen dat bereik. Komt de teller een gekleurde cel tegen, dan moet naar het begin van de volgende rij gesprongen worden. Komt de teller (tijdens het doorlopen van de rij) geen gekleurde cellen tegen, dan mag de GANSE rij (dus ook hetgeen buiten de selectie valt gewist worden). Meer is er dus niet aan...

Ik heb al geprobeerd met If, Do, For en while functies maar kom er echt niet uit. Kan er iemand helpen?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan