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

Verplaatsen naar een archief onder voorwaarde

Status
Niet open voor verdere reacties.

AlexS

Gebruiker
Lid geworden
30 apr 2014
Berichten
6
Bekijk bijlage Expeditie aanmeldlijst 2.xlsm

Hallo allemaal,

Ik hoop dat ik een beroep kan doen op jullie expertise.

Vanaf kolom 3 in het tabblad "Geautoriseerde aanmeldingen" van bijgevoegd document, worden de dagelijkse aanmeldingen verwerkt voor ons bedrijf. Dit is een zeer dynamisch document.

Bij het voldoen van een aantal voorwaarden- en voornamelijk het verstrijken van de einddatum, komt in kolom P het cijfer 3 te staan.

Nu zie ik graag bij het openen van het document, dat alle rijen die in kolom P het cijfer 3 hebben, verplaatst worden naar het tabblad "Archief". En vervolgens dat de inhoud van deze rijen vanaf kolom C tot en met K leeggemaakt worden. Dit zodat deze weer beschikbaar zijn voor nieuwe aanmeldingen.
Het document zal tevens voorzien zijn van een wachtwoord.

Het heeft al een tijdje gewerkt met onderstaande, echter krijg ik het niet voor elkaar om het zo aan te passen dat deze eerst alles naar het archief zet, alvorens de rijen die zijn verlopen leeg te maken.

Private Sub Workbook_Open()
For Each Cel In Intersect([P:p], ActiveSheet.UsedRange)
If Cel = 3 Then Range("C" & Cel.Row & ":K" & Cel.Row).ClearContents
Next
End Sub

Wellicht dat het een hele simpele aanpassing is, maar ik schiet in mijn kennis helaas te kort.


Alvast bedankt en met vriendelijke groet,


Alex
 
Het kan aan mij liggen maar ik begrijp de opzet niet.

In kolom L staat
PHP:
=ALS(ISLEEG(I10);1;0)
en in kolom O staat
PHP:
=ALS(ISLEEG(I10);0;1)
Als je dit gaat optellen is de uitkomst toch altijd 1? In Kolom R staat iets met +13.

Ik heb het idee dat jouw vraag niet compleet is.

Dus graag wat meer uitleg over wat je werkelijk wil.
 
De optelsom hoe de 3 tot stand komt staat volledig los van mijn vraag. Deze functioneert zoals ik deze wil hebben.

Het draait om het feit wat er moet gebeuren wanneer de het cijfer tot stand komt in kolom P.

Kolom R refereert naar een datum overigens. Deze data dragen bij aan de data validatie in kolom I. Een aanmelding mag niet meer dan twee weken overschrijden. Daarom ook; = de ingevoerde datum + max 13 dagen. Wanneer een datum wordt ingevuld die hieraan voorbij gaat, wordt deze niet geaccepteerd.

De vraag waar het om gaat is;

Nu zie ik graag bij het openen van het document, dat alle rijen die in kolom P het cijfer 3 hebben, verplaatst worden naar het tabblad "Archief". En vervolgens dat de inhoud van deze rijen vanaf kolom C tot en met K leeggemaakt worden. Dit zodat deze weer beschikbaar zijn voor nieuwe aanmeldingen.
Het document zal tevens voorzien zijn van een wachtwoord.
 
Doe hem eens zo:
Code:
Private Sub Workbook_Open()
    Dim lr As Long
    
    lr = Sheets("Archief").Cells(Sheets("Archief").Rows.Count, "A").End(xlUp).Row
    Sheets("Geautoriseerde badges").Activate
    For Each cel In Intersect([P:P], ActiveSheet.UsedRange)
        If cel = 3 Then
            lr = lr + 1
            Sheets("Archief").Rows(lr).EntireRow.Value = ActiveSheet.Rows(cel.Row).EntireRow.Value
            ActiveSheet.Range("C" & cel.Row & ":K" & cel.Row) = ""
        End If
    Next
End Sub
 
Laatst bewerkt:
Knipsel.PNG

Goedenavond edmoor. Dank voor je reactie. Helaas geeft deze een foutmelding, zoals op de bijlage is af te lezen.
 
Ja, sorry. Ik heb 'm al aangepast. Vervang hem maar helemaal nog een keer.
 
Laatst bewerkt:
Edmoor, je bent een held!

Hij werkt perfect.

Thanks!

Groet,

Alex
 
Ok dan. Veel plezier ermee :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan