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

Macro om rijen te verwijderen

Status
Niet open voor verdere reacties.

Albatros

Gebruiker
Lid geworden
4 nov 2001
Berichten
388
Hoi,

In Excel heb ik diverse rijen met getallen staan.
De lengte hiervan kan variëren, maar rij F is wel altijd gevuld
Om die reden heb ik formules voor het gemiddelde ed. onderaan in bv cel A52..J53
geplaatst
Nu wil ik via een macro, de formules één cel onder de waarden plaatsen.
Dus eigenlijk de tussenliggende rijen -1 verwijderen tussen de waarden en
de formules
(de formules moeten wel formules blijven, dus geen vaste waarden)
Wie weet raad?

Albatros
 

Bijlagen

Hoi Albatros,

In m'n eerste bestandjes zorgde ik er altijd voor dat de Som bovenaan stond. En dan titels blokkeren... vond ik zeer handig, vermits ik dan altijd het totaal kon zien.

Is lekker makkelijk... misschien wat ongebruikelijk, maar zeker voor persoonlijk gebruik is er volgens mij niets fout aan.

Wat uw probleem betreft: Je zou dit er natuurlijk met VBA kunnen inzetten... maar is het niet handiger de lege rijen gewoon te verbergen?

Luc
 
Hoi Luc,

Je hebt helemaal gelijk.
Zo zou ik het ook doen, maar ik moet uitgaan van een bestaande situatie, en omdat ikzelf niet de gebruiker ben, moet het "monkey-proof" zijn.

Albatros
 
Dan blijft toch het verbergen van de rijen nog een optie?
Kan je ook met AutoFilter ... en dat opnemen met de macrorecorder.

Luc
 
Luc,

Met de autoFilter lukt me dat niet. (Had ik ook graag wel willen weten)
Wel ik vond ik deze Macro van jou, na enig snuffelen.

Sub DeleteRows()
Dim i As Integer
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then _
Rows(i).Delete
Next
End Sub


Kun je deze niet een beetje aanpassen, zodat hij gaat zoeken vanaf bv. A11, en er een rij tussenzet.

Albatros
 
Sub DeleteRows()
Dim i As Integer
For i = 11 To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then _
Rows(i).Delete
Next
End Sub

Luc
 
Luc,

Bedankt voor je reactie, maar de macro werkt helaas niet naar wens.

Albatros
 
Ik heb dit getest op uw bestand:

Sub DeleteRows()
Dim i As Integer
For i = 53 To 1 Step -1
If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then _
Rows(i).Delete
Next
End Sub

Gelukt!

Luc
 
Luc,

Ja het is (bijna) gelukt.
Ik had graag altijd een lege rij willen overhouden in rij 2, en een lege rij tussen de samenvatting en de tabel met gegevens.
Maar dit heb ik nu opgelost door een spatie + enter te geven in de eerste cel van rij 2, en één rij boven de samenvatting die verplaatst moet worden.

Bedankt!
Albatros
 
Ja je zal het wet weten ,maar waarom neem je de macro niet op???:rolleyes: :confused:
 
Je kan een makro ook opnemen.
hiermee maak je stap voor stap je makro
 
Hallo Abyss,

Lusjes en voorwaardelijke macro's kan je niet met de recorder opnemen. En het zijn net deze zaken waar het hem hier om gaat.

Luc
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan