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

Excel - macro - delete rij

Status
Niet open voor verdere reacties.

BenVan

Gebruiker
Lid geworden
31 okt 2006
Berichten
18
Allen

Ik heb een tabblad en in dat tabblad staat verschillende data(1000 rijen). Nu heb ik een kolom B, wanneer er in de kolom B nul staat, dan moet hij automatisch de hele regel verwijderen. Dit moet gebeuren wanneer de gebruiker op een knop klikt.
Dus bovenaan het tabblad staat een knop uitvoeren. Wanneer de gebruiker op de knop uitvoeren klikt, dan gaat de macro rij per rij kolom B controleren en wanneer die gelijk is aan 0( of iets anders) dan mij hij niet delete doen maar de hele rij verwijderen.

Iemand...


mvg,
Benjamin
 
Beste BenVan,

Als er geen lege cellen inkolom B staan, dan kan het via:
Sub Verwijder_Rijen()
Columns("B:B").Select
Selection.Replace What:="0", Replacement:="", LookAt:=xlWhole
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete
Range("B1").Select
End Sub

Ik vervang alle nullen door niets, mits er in een cel alleen een nul staat (90 blijft dus staan), en selecteer vervolgens de lege cellen in kolom B en verwijder die rijen.

Richard
 
Richard,

ik mis de Code tags!!! :D

Yep, ik heb z'n dag vandaag.

Groet,
Ferenc
 
Werkt inderdaad goed :) maar het volgende probleem is dat er af en toe rijen inzitten waarbij er in kolom B niks ingevuld is maar in de andere kolomen op die rij wel iets.
Met die code van jouw wist hij die regel wel en normaal zou hij het niet mogen doen...


Heb zelf al eens zitten proberen, heb iets gevonden maar wanneer er geen nullen(is variabel, dit geval 99999999) staan in die kolom, dan heeft hij een error.
Columns("B:B").Select
Selection.Replace What:="9999999", Replacement:="leeg", LookAt:=xlWhole
--> hier zou er controle moeten komen indien iets gevonden, als niets gevonden is, niets doen?
--> die xlTextValues is blijkbaar ook verkeerd want er kan nog andere tekst ook voorkomen...
Selection.SpecialCells(xlCellTypeConstants, xlTextValues).Select
Selection.EntireRow.Delete
Range("B1").Select
 
Laatst bewerkt:
Post eens een voorbeeld van je file.
Misschien kunnen we ook in andere kolommen zoeken.

edit:
ben dit stukje nog tegen gekomen in mijn database:
Code:
Sub verwijderen_regels_met_een_nul()
Dim l As Long

     For l = Range("B" & Rows.Count).End(xlUp).Row To 1 Step -1
          If Range("B" & l) = "0" Then Rows(l).Delete xlShiftUp
     Next

End Sub

en deze, werkt met een autofilter.
Gaat om het idee:) :
Code:
Sub verwijderen_regels_zonder_uren()

     Range("B1").AutoFilter Field:=2, Criteria1:="0"
     Range("B2", Range("B" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible).Delete Shift:=xlUp
     Range("B1").AutoFilter

End Sub


Groet,
Ferenc

ps.
Met dank aan dit forum voor de verschillende codes (grote kans dat ze bij Wigi vandaan komen :))
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan