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

cellen aanpassen zodra er iets wordt ingevuld.

Status
Niet open voor verdere reacties.

jminke

Nieuwe gebruiker
Lid geworden
9 feb 2012
Berichten
2
Ik ben bezig om een private sub te maken die ervoor zorgt dat de cellen zich aanpassen zodra er iets wordt ingevuld.
Naast het wijzigen van de kleur van de cel moet er ook tekst komen te staan.

Maar zodra ik een tekst in een cel wil zetten dan vliegt hij in een loop.
Wanneer ik vanuit een module de code wil uitproberen dan gaat de macro op het moment dat de tekst in de cel moet komen automatisch naar de Private sub.


Code:
i = 2

Do While Cells(i, 1) <> ""
    Do While Cells(i, 7) <> "" And Cells(i, 8) <> ""
        i = i + 1
        Loop
If Date < Cells(i, 7) + 36 And Date > Cells(i, 7).Value + 29 Then
    Cells(i, 8).Interior.ColorIndex = 6
    i = i + 1
    Else
        If Cells(i, 7) = "" And Cells(i, 8) = "" Then
            Cells(i, 8).Interior.ColorIndex = 0
            i = i + 1
            Else
            If Date > Cells(i, 7) + 28 Then
        Cells(i, 8).Interior.ColorIndex = 3
            i = i + 1
            Else
        Cells(i, 8).Interior.ColorIndex = 4
            i = i + 1

End If
End If
End If

Loop
Hoe kan ik dit oplossen?
 
Laatst bewerkt door een moderator:
Zet eerst je voorbeeldcode eens in een codetag zodat inspringpunten op de juiste plek staan. Zo is het geen lezen.
 
Code tussen codetags gezet en titel aangepast
 
Zet deze voor je loop:
Code:
Application.EnableEvents = False

Maar gebruik wel een On error opvang die dit weer op true zet.
 
Super, het werkt.
Dank je wel!

Ter lering en vermaak....
Wat doet VBA waardoor ik dit ervoor moet zetten?
 
VBA is een computertaal dat werkt met "events".
Een event (Ned: gebeurtenis) is een bepaalde handeling of dus gebeurtenis waaraan je code kunt koppelen.
Bijv.:
- het klikken op een knop
- het wijzigen van een werkblad
- het selecteren van een andere cel/werkblad
etc

Met Application.EnableEvents = False schakel je uit dat code vanuit een event worden gestart.
Het is niet de meest ideale situatie omdat het alle events uitschakelt.
Het is daarom van belang dat je Application.EnableEvents = True ook in de code vermeldt.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan