• 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 ontwerpen om in bestand te zoeken

Status
Niet open voor verdere reacties.

Angela69

Gebruiker
Lid geworden
9 mrt 2017
Berichten
418
Besturingssysteem
Windows
Office versie
365
Hallo,

Wie kan mij helpen met het maken van een macro waar in een bestand in kolom A gezocht wordt naar een (in de macro vermeld) nummer en als die gevonden wordt, moet de hele rij verwijderd worden. Graag met een knop welke deze opdracht uitvoert.
 
Plaats een voorbeeld document.
Dan is dat simpel te maken.
 
CSS:
Sub wissen()
     Dim c     As Range
     Set c = Sheets("blad1").Columns("A").Find("2920489", lookat:=xlWhole)
     If Not c Is Nothing Then c.EntireRow.Delete
End Sub
zijn er meerdere cellen met die inhoud en moeten die ook gewist worden ?
 
Code:
Sub hsv()
Dim del
 del = Application.Match(2920489, Columns(1), 0)
 If IsNumeric(del) Then Rows(del).Delete
End Sub
 
Johan,

Toch even nieuwgierig natuurlijk.
Geen kritiek hoor maar om er iets van op te steken..

Onderstaand stukje loopt niet van onderen naar boven.
Code:
' Loop van onder naar boven om rijen te verwijderen
    For Each Cel In Ws.Range(Kolom & "1:" & Kolom & LaatsteRij)
        If Cel.Value = ZoekNummer Then
            Cel.EntireRow.Delete
        End If
    Next Cel
Zo wel:
Code:
for i = laatsterij to 1 step -1
      if cells(i, 1) = zoeknummer then cells(i, 1).entirerow.delete
next i
 
Ik ben natuurlijk een leek in vba, dus alle positieve kritiek is hartelijk welkom.
Ik had dit nog in een ander bestandje, ooit vanuit Chatgpt en een deeltje aangepast.
Mag soms ook wel stevige kritiek zijn.
Dit is het origineel aangepast.
Misschien moet hier ook wel een regel aangepast worden.
 

Bijlagen

Johan,

Het probleem als je van boven naar beneden rijen weghaalt en het zoeknummer twee keer onder elkaar voorkomt, dat er maar een verwijderd wordt.
 
Hartelijk dank voor alle reacties.
Ik wil niet elke keer een nummer in willen voeren, dat is elke keer hetzelfde, daarom mijn vraag dit nummer in de code aan te brengen. Er is een bestand waar in blad1 een bestand gekopieerd wordt en dit hele bestand moet naar blad2 gekopieerd worden, dat doe ik middels elke cel in blad2 te laten refereren naar blad1. Dus een cel ziet er zo uit: =Blad1!A1

In blad2 moet dan automatisch die regel verwijderd worden waarvan het nummer in de code staat,
kan dat? Het nummer komt overigens altijd maar één keer voor.
 
Voorbeelden staan er vanaf #4.
 
Wanneer gaat u eens leren een voorbeeld bestandje te plaatsen?
 
@Gerth alias Angela69
Waarom altijd zo moeilijk doen en om de hete brei heen draaien?
Kom eens met een bestandje dat de echte kolommen en dergelijke laat zien.
In je bijlage welke je heb gepost #3 is het een fluitje van een cent met power query en
#4 geeft de uitkomst met VBA.
Maar ja, je komt gegarandeerd met nog iets anders van opzet.
 

Bijlagen

Laatst bewerkt:
@ johan
Je vroeg om positieve kritiek dus wil je de rijen van onder naar boven verwijderen doe je het zo.
Code:
    ' Bepaal de laatste rij in de kolom
    LaatsteRij = Ws.Cells(Ws.Rows.Count, 1).End(xlUp).Row

    ' Loop van onder naar boven om rijen te verwijderen
    For i = LaatsteRij To 2 Step -1
        If ws.Cells(i, 1).Value = ZoekNummer Then
            ws.Cells(i, 1).EntireRow.Delete xlUp
        End If
    Next i
 
Code:
Sub M_snb()
   columns(1).replace "2920489",""
   columns(1).specialcells(4).entirerow.delete
End Sub
 
@Gerth alias Angela69
Waarom altijd zo moeilijk doen en om de hete brei heen draaien?
Kom eens met een bestandje dat de echte kolommen en dergelijke laat zien.
In je bijlage welke je heb gepost #3 is het een fluitje van een cent met power query en
#4 geeft de uitkomst met VBA.
Maar ja, je komt gegarandeerd met nog iets anders van opzet.
Hartelijk dank voor je bestand. Zelf heb ik geen kaas gegeten van Power Query, misschien kun je me vertellen wat ik moet doen om de gegevens (alle kolommen) uit blad1 naar blad2 te brengen waarbij dus die ene regel niet meegaat. En waar kan ik het gezochte nummer wijzigen?
 
hopeloos zonder gelijkend voorbeeldbestand, dacht dat het altijd hetzelfde nummer was?
zoals gewoonlijk zal dat weer maar een gedeelte van uw probleem zijn.
 

Bijlagen

Laatst bewerkt:
hopeloos zonder gelijkend voorbeeldbestand, dacht dat het altijd hetzelfde nummer was?
zoals gewoonlijk zal dat weer maar een gedeelte van uw probleem zijn.
Ja het is me duidelijk, zal in het vervolg voorbeeldbestanden toevoegen ;)
De code werkt bijna goed, het is de bedoeling dat alle kolommen (t/m BC) en rijen (200) meegenomen worden. Zie bestand, lukt je dat nog?
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan