Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Marco  (gelezen 1156 keer)

0 leden en 1 gast bekijken dit topic.

Offline Sunnybat

  • Volledig lid
  • **
  • Berichten: 222
  • Geslacht: Man
  • Oplossing.be
Marco
« Gepost op: 01 maart 2023, 13:31:52 »
Hoi,

ik heb deze vba al een tijdje in gebruik
Deze verwijderd in kolom C heel de rij als in een cel van kolom C een X voorkomt
Is het nu mogelijk, als er andere benaming voorkomt in de zelfde kolom C bijvoorbeeld een Y deze regel ook meteen wordt verwijderd?
Dus meerdere benamingen?

Sub Methode1()
 
Dim i As Long
With ActiveWorkbook.Sheets(1)
    For i = 100000 To 1 step -1
         If .Cells(i, "C") = "x" Then
             .Cells(i, "C").EntireRow.Delete
         End If
     Next i
 End With
End Sub

Alvast super bedankt
Excel 365 NL

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.172
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Marco
« Reactie #1 Gepost op: 01 maart 2023, 17:00:04 »
Het kan veel eenvoudiger, maar zo zie je wat er gebeurd:

Sub Methode1()
 
Dim i As Long
With ActiveWorkbook.Sheets(1)
     For i = 100000 To 1 step -1
        If .Cells(i, "C") = "x" Then
            .Cells(i, "C").EntireRow.Delete
        End If
'-------------------------------------------------
        If .Cells(i, "C") = "z" Then
            .Cells(i, "C").EntireRow.Delete
        End If
'------------------------------------------------
   Next i
End With
End Sub

Zo kan het korter:

Sub Methode2()
 
Dim i As Long
With ActiveWorkbook.Sheets(1)
     For i = 100000 To 1 Step -1
        If .Cells(i, "C") = "x" Or .Cells(i, "C") = "z" Then
            .Cells(i, "C").EntireRow.Delete
        End If
   Next i
End With
End Sub

Let op met "hoofdlettergevoeligheid !!

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline Sunnybat

  • Volledig lid
  • **
  • Berichten: 222
  • Geslacht: Man
  • Oplossing.be
Re: Marco
« Reactie #2 Gepost op: 02 maart 2023, 07:10:17 »
@SoftAid

Super bedankt ze werken alle twee _/-\o_
Excel 365 NL

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.279
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Marco
« Reactie #3 Gepost op: 02 maart 2023, 16:22:17 »
Gewoon een vraag uit interesse? Waarom met VBA en niet simpelweg even een filter op die kolom en alleen je C en je X in je filteropdracht. Dan kan je daarna toch alle zichtbare regels in1x selecteren en deleten?
______________________________

Groet, Leo

Offline Sunnybat

  • Volledig lid
  • **
  • Berichten: 222
  • Geslacht: Man
  • Oplossing.be
Re: Marco
« Reactie #4 Gepost op: 02 maart 2023, 16:29:15 »
@RedHead

ik heb gekozen voor methode1

omdat in de export die ik heb en wekelijks wordt gemaakt in bepaalde cellen vervuilde tekst staat die ik niet gebruik
ik de vba uitgebreid dus ben super geholpen
Excel 365 NL

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.279
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Marco
« Reactie #5 Gepost op: 02 maart 2023, 16:53:01 »


Citaat
Sub Methode2()
 
Dim i As Long
With ActiveWorkbook.Sheets(1)
     For i = 100000 To 1 Step -1
        If Ucase(.Cells(i, "C")) = "X" Or Ucase(.Cells(i, "C")) = "Z" Then
            .Cells(i, "C").EntireRow.Delete
        End If
   Next i
End With
End Sub

Let op met "hoofdlettergevoeligheid !!

:) SoftAid :)       
Zo zorg je er in je code voor dat je onafhankelijk bent van hoofdletters of kleine letters SoftAid...  ;)
______________________________

Groet, Leo

Offline Sunnybat

  • Volledig lid
  • **
  • Berichten: 222
  • Geslacht: Man
  • Oplossing.be
Re: Marco
« Reactie #6 Gepost op: 02 maart 2023, 17:50:49 »
@RedHead

Super Thnx
Excel 365 NL

 


www.combell.com