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

Snellere module schrijven

Status
Niet open voor verdere reacties.

johanx

Gebruiker
Lid geworden
1 aug 2008
Berichten
9
Goedenavond,

In een excelbestand heb ik de volgende macro staan. Deze werkt precies zoals het hoort! Dat is mooi natuurlijk, alleen werkt het vreselijk traag. Wat er gebeurd is dat in alle ingevulde regels er gekeken wordt of er in kolom 18 een tekst staat. Als dat zo is, wordt kolom 5 gewist. Hiervoor gebruik ik deze code:

Code:
Sub UFEmptyUnknown()

Dim ICWaarde As String
ICWaarde = ""

    lrij = Worksheets("Werkend bestand totaal").Range("A65536").End(xlUp).Row
        For lNmrij = 9 To lrij

                If Worksheets("Werkend bestand totaal").Cells(lNmrij, 18) = "Onbekend" Then
                    Worksheets("Werkend bestand totaal").Cells(lNmrij, 5).Value = ICWaarde
                End If
        Next
    End Sub

Weet iemand een snellere oplossing?
 
Deze moet toch sneller zijn:

Code:
Sub UFEmptyUnknown()

Dim ICWaarde As String
    With Worksheets("Werkend bestand totaal")
        lrij = .Range("A65536").End(xlUp).Row
            For rij = 9 To lrij
               If .Cells(rij, 18) = "onbekend" Then .Cells(rij, 5) = ""
            Next
    End With
End Sub

Cobbe
 
Super! werkt helemaal en is idd een stuk sneller!

Dank!
 
Zet je de vraag dan nog even op opgelost (rechts onderaan de pagina)

Mvg

Rudi
 
Waarom geen gebruik van ingebouwde Excel-methoden ?

Code:
With  Worksheets("Werkend bestand totaal").usedrange
  .autofilter 18,"Onbekend"
  .offset(1).columns(5).specialcells(xlcelltypevisible).value=""
  .autofilter
End With
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan