• 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 knop met variabele waarde

Status
Niet open voor verdere reacties.

Anemoontje

Gebruiker
Lid geworden
20 mrt 2019
Berichten
10
Hallo,

Elke maand download ik een excel-bestand vanuit SAP. Ik wil een macro schrijven om de data in dat bestand automatisch in de juiste velden etc. te zetten.
In die bestanden moet o.a. het volgende worden gedaan:

Alle rijen waar in kolom A een "*" of "**" staat, moeten worden verwijderd.
Hoe kan ik dat doen?

Alvast bedankt voor jullie hulp.
 

Bijlagen

  • voorbeeldfile.xlsb
    17 KB · Weergaven: 29
Zo:
Code:
Sub VerwijderRgelsMetSter()
    For i = Cells(1).CurrentRegion.Rows.Count To 1 Step -1
        If Cells(i, 1) = "*" Or Cells(i, 1) = "**" Then Rows(i).Delete
    Next i
End Sub

Edit:
Die van SjonR is een stuk sneller :)
 
Laatst bewerkt:
Probeer deze eens:

Code:
Sub SjonR()
With Cells.CurrentRegion
    .AutoFilter 1, "*", xlOr, "**"
    .Offset(1).EntireRow.Delete
    .AutoFilter
End With
End Sub
 
Probeer deze eens:

Code:
Sub SjonR()
With Cells.CurrentRegion
    .AutoFilter 1, "*", xlOr, "**"
    .Offset(1).EntireRow.Delete
    .AutoFilter
End With
End Sub

Hoi SjonR,

Dank je wel voor je supersnelle reactie. Hij delete enkel de rijen met "*"; De rij met 2 "**" laat hij staan?
Enig idee of hier nog een oplossing voor is?
 
Zo:
Code:
Sub VerwijderRgelsMetSter()
    For i = Cells(1).CurrentRegion.Rows.Count To 1 Step -1
        If Cells(i, 1) = "*" Or Cells(i, 1) = "**" Then Rows(i).Delete
    Next i
End Sub

Edit:
Die van SjonR is een stuk sneller :)

Die van jou werkt jammer genoeg niet bij mij. Toch bedankt voor je reactie.
 
Ik heb de macro die SjonR heeft geschreven 2 keer laten lopen en dan verwijdert hij de tweede keer de rijen met "**" wel.
Ik ben hiermee geholpen.
Heel erg bedankt
 
Ik neem aan dat je die ene rij onderaan bedoelt waar alleen ** staat en verder niets.

Met deze aanpassing moet die ook verdwijnen.

Code:
Sub SjonR()
With ActiveSheet.UsedRange
    .AutoFilter 1, "***"
    .Offset(1).EntireRow.Delete
    .AutoFilter
End With
End Sub
 
Laatst bewerkt:
Het quoten is niet nodig. Overal waar in kolom A een * staat is kolom C leeg. Dan volstaat dit.

Code:
Sub VenA()
  Sheets("01-03").Columns(3).SpecialCells(4).EntireRow.Delete
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan