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

Status
Niet open voor verdere reacties.

gast0671

Gebruiker
Lid geworden
3 aug 2005
Berichten
214
Ik heb weinig verstand van macro's maken. Wie kan mij helpen met het volgende:
- zoek naar de tekst "RESI" (alleen hele cellen zoeken)
- positie onthouden
- zoek naar de tekst "1" (alleen hele cellen zoeken)
- selecteer alle rijen vanaf (en inclusief) de onthouden positie tot en met de rij BOVEN de cel waarin "1" werd gevonden.
- verwijder de selectie (leegmaken of wissen rijen - maakt niet uit).

Het lukt mij wellicht wel om die macro te plakken in het worksheet.

Alvast bedankt voor uw hulp.
 
Geen macro maar...

Ga naar bewerken => vervangen type in "zoeken naar"
het woord wat je wilt weghalen
laat de 2e regel leeg
Nu kies je "vervangen" of "alles vervangen"

Imod
 
Nee, dat is niet wat ik bedoel.
In de bijlage een heel klein stukje tekst waarin de macro moet werken.
De macro moet de 2e, 3e en 4e regel van de tekst weghalen.
Wie helpt mij?
 

Bijlagen

Beste Guido,

Open je document, klik op Alt+F11, kies via Invoegen - Module en plak daarin de volgende regels:
Sub Guido()
Dim BovensteRij
Dim LaagsteRij

Range("B1").Select
Selection.End(xlDown).Select
LaagsteRij = ActiveCell.Row

Columns("C:C").Select
Selection.Find(What:="RESI", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
BovensteRij = ActiveCell.Row

ActiveCell.Offset(1, -1).Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Find(What:="1", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
LaagsteRij = ActiveCell.Row - 1
Range("B" & BovensteRij & ":" & "B" & LaagsteRij).Select
Selection.EntireRow.Delete

End Sub

Bij mij doen ze precies wat jij wilt, namelijk het verwijderen van alle rijen vanaf RESI in kolom C, tot en met de regel boven de eerstvolgende rij in kolom B waar een 1 staat.

Succes,

Richard
 
Probeer deze macro eens.

Sub Verwijderen()
Dim c As Variant
For Each c In Range("C1:C1000") 'C1000 aanpassen naar behoefte
If c.Value = "RESI" And c.Offset(0, -1) = 1 Then
c.EntireRow.Delete
End If
Next c
End Sub
 
De macro van LucB haalt volgens mij niets weg.
De macro van Richard1970 doet het goed, op een punt na:
In sommige gevallen haalt ie teveel weg.
1 RESI
2 ADDR
1 NOTE
doet ie goed (de regels RESI en ADDR gaan weg)
maar in deze situatie:
1 RESI
1 NOTE
2 CONT
1 INDI
haalt ie ook de regels met NOTE en CONT weg. Het is de bedoeling dat hier alleen de regel met RESI weggehaald wordt.

Voor de liefhebbers c.q. nieuwsgierigen onder jullie.
Dit is een zgn. Gedcom-bestand, een bestand dat gebruikt wordt om data uit te wisselen tussen verschillende stamboomprogramma's.
 
En deze.

Sub Verwijderen()
Dim c As Long, p As Long
c = Cells(Rows.Count, "C").End(xlUp).Row
For p = c To 1 Step -1
If Range("C" & p).Value = "RESI" And Range("C" & p).Offset(0, -1) = 1 Then
Range("C" & p).EntireRow.Delete Shift:=xlUp
End If
c = c - 1
Next p
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan