Condities in een tabel

Status
Niet open voor verdere reacties.

miso1995

Gebruiker
Lid geworden
25 mei 2018
Berichten
87
Beste allemaal,

Als vervolg op mijn vraag over het maken van een logboek, zie https://www.helpmij.nl/forum/showthread.php/939089-Logboek-maken
Ben ik benieuwd hoe ik het beste een "For Each constructie" kan gebruiken in een tabel. In kolom G in het voorbeeldbestand Bekijk bijlage Template openstaande puntenlijst.xlsm staat een status.
Ik wil met een knop zoeken naar alle regels met de status "Afgehandeld" om die vervolgens te knippen naar het tabblad "Afgehandelde items" wederom een tabel. Kortom de data moet steeds naar de eerste lege regel in de tabel die in de sheet "Afgehandelde items" is opgenomen, zonder de bestaande data te overschrijven.

Dit heb ik geprobeerd:
Code:
Public Sub Afgehandeld()
Dim afg As Range
    For Each afg In Range("G:G")
        If afg = "Afgehandeld" Then
            afg.EntireRow.Cut
            Sheets("Afgehandeld").Range("A2").xlEnd(Down).Offset(1, 0).Paste
        End If
        Next afg
End Sub

Wie biedt?

Alvast bedankt.


Gr. Michel
 
Maak van de tabel in OPL een intelligente tabel. Filter op 'niet afgehandeld'. Verplaatsen van gegevens is overbodig.
 
Laatst bewerkt:
Wat staat er allemaal niet in jouw hier benoemde boek? Heb je het boek wel open gelagen en begrepen wat er allemaal in staat?
 
Ik kan niet zo gauw hetgeen er uit filteren wat ik zoek. Ik heb er een hele hoop info al uitgehaald. Maar dit kan ik niet zo gauw vinden.
Ben er ook nog niet aan toegekomen om het boek integraal te lezen (ben er wel aan begonnen).
 
Trouwens, dat filteren is een optie, maar de reden dat ik het wil verplaatsen naar een nieuw tabblad, is omdat ik niet wil dat ze nog aangepast worden, nadat ze zijn afgehandeld.
En dan ga ik nog een deel beveiligen en dan komen er nog wat macro's waarvan ik weet dat ze werken.


Groetjes Michel
 
Ja, beveiliging in office stelt niet zoveel voor, maar mijn doelgroep zal niet zo gauw er doorheen komen. Dus het heeft nog wel zin. Ik heb bewust die tussenstap weggelaten, omdat ik de vorige keer een beveiligd bestand met password had aangeleverd, wat niet op prijs gesteld werd.
 
Waarom heb je de verbeteringen van HSV uit jouw vorige draadje niet verwerkt?

Het verplaatsen van gegevens gaat over het algemeen het snelst als je gebruik maak van de filter mogelijkheden.

Code:
Sub VenA()
  Application.EnableEvents = False
  With Sheets("OPL").ListObjects(1).Range
    .AutoFilter 7, "Afgehandeld"
    .Offset(1).Copy Sheets("Afgehandelde items").Cells(Sheets("Afgehandelde items").ListObjects(1).ListRows.Count + 2, 1)
    .Offset(1).EntireRow.Delete
    .AutoFilter 7
  End With
  Application.EnableEvents = True
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan