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

Rijen op het eind worden niet gewist

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
865
Beste,

Zie bestand in bijlage als voorbeeld.

vraag 1 : met de code die ik gebruik worden de lege rijen niet verwijderd. Dit komt wellicht omdat de gegevens uit een ander bestand dat formules bevatte werden geplakt. Hoe kan ik dit oplossen ?

Code:
Sub laatste()
Dim z As Integer
z = Cells.SpecialCells(xlCellTypeLastCell).Row
Rows(z & ":5000").Select
Selection.Delete
End Sub

vraag 2 :
Welke code moet ik gebruiken als er naast de laatste rijen ook tussenliggende rijen blanco zijn? bijvoorbeeld rijen 20 tot 30.

dank bij voorbaat,

Stefano
 

Bijlagen

Ik zie je probleem niet, wat wil je precies? Alle rijen vanaf 500 zijn echt wel geschoond. Vanaf rij 69 heb je, tot aan 500, in kolom C en E een 0 staan, dus inderdaad: niet leeg. En omdat je de laatste lege cel opzoekt, werk je vanaf rij 500.
 
En vraag 2: ofwel met een loop door je gegevens lopen (kan je gelijk de waarde 0 ook afvangen, als je dat wilt) en dan de lege rijen verwijderen, ofwel eerst sorteren zodat de lege rijen onderaan staan. Bijvoorbeeld. Er zijn vast meer (en slimmere) oplossingen.
 
Ai ai onduidelijkheid. Sorry.

In het voorbeeld dat ik meegaf zouden rijen 69 tot ... moeten verwijderd worden, nu blijven deze staan. Kortom de laatste rij zou in dit geval 69 moeten zijn.
 
Stefano,

wijzig je macro eens in:
Code:
Option Explicit
Sub laatste()
Dim z As Integer
Dim r As Integer
z = Cells.SpecialCells(xlCellTypeLastCell).Row
For r = z To 6 Step -1
If Cells(r, 3) = 0 Then Cells(r, 3).EntireRow.Delete
Next r
End Sub
 
Haije,

dat is hem ! Dank je wel.

Het duurt wel even voor die er met rond is, maar werkt prima.

dank !
 
Stefano,

maak er eens dit van
Code:
Sub laatste_snel()
z = Cells.SpecialCells(xlCellTypeLastCell).Row
geg = Range(Cells(6, 3), Cells(z, 5))
Range(Cells(6, 3), Cells(z, 5)).ClearContents
For r = 1 To z - 5
If geg(r, 1) = 0 Then
    geg(r, 1) = Empty
    geg(r, 2) = Empty
    geg(r, 3) = Empty
End If
Next r
Range(Cells(6, 3), Cells(z, 5)) = geg
End Sub
 
Wel een slechte opzet van iets wat op een tabel lijkt. Je moet onderhand toch beter weten? :confused:

Code:
Sub VenA()
  With Range("C6:C" & Cells(Rows.Count, 3).Row)
    .Replace 0, "", xlWhole
    .SpecialCells(4).EntireRow.Delete
  End With
End Sub
 
Hallo Vena,

ik begrijp niet goed wat je bedoelt.

De tabellen die ik krijg zijn exportbestanden vanuit softwareprogramma SAP. Het zijn zogenaamde excel-bestanden .xls maar dat zijn ze totaal niet! Dat is ook de reden waarom ik hier meerdere vragen stel enerzijds omdat mijn kennis van excel te beperkt is en anderzijds omdat het niet over excel-bestanden gaat.

Ik waardeer dan ook ieders hulp voor de volle 100%. Bij deze toch nog eens een extra dank!

Stefano
 
Daar staat SAP wel een beetje bekend om. Maar het is mij nog nooit gelukt om een export vanuit SAP te krijgen met verborgen rijen en kolom en met dubbele kolomkoppen. Maar kan in ieder situatie natuurlijk anders zijn.;)
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan