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

Probleem met vert.zoeken

Status
Niet open voor verdere reacties.

SeringZH

Gebruiker
Lid geworden
18 mrt 2017
Berichten
100
Wat is de oorzaak dat het steeds fout gaat met het invullen van een lijst.

Het invullen zonder vert.zoeken gaat probleemloos, maar zodra ik dus vert.zoeken wil gebruiken gaat het fout.
Het gaat er dus om dat in een lijst altijd nog nieuwe gegevens kunnen worden ingevoerd.
Dit lukt niet tenzij ik hrt bestand afsluit en opnieuw opent en dan kan er weer 1 regel ingevoerd worden.
Wat doe ik fout?
 

Bijlagen

  • Test.xlsm
    15,3 KB · Weergaven: 46
Wat is nu precies het probleem? Graag een nadere toelichting wat mij betreft.
 
Laatst bewerkt:
Het omschrijven van het probleem is eigenlijk al een probleem.
Zoals op de bijlage te zien is wordt de plaats niet meer naar hoofdletters omgezet en als ik dan de cel opnieuw wil invoeren begint dat ergens op een vreemde plek. Dit gebeurt dus nadat ik vert.zoeken had ingevoerd op het zoek gedeelte(wat overigens op een andere sheet moet gebeuren, maar dat komt later wel. Nu zo om het bij elkaar te houden in het voorbeeld. Bestand sluiten en opnieuw opstarten en dan werkt het invullen van een nieuwe PC en Plaats weer 1 keer en dan treed de fout weer op.
 
met je vert.zoeken functie trigger je het worksheet_change event.
binnen dit event wordt je vert.zoeken opnieuw berekend en trigger je je worksheet_change event.
maw je komt in een continue loop.

oplossing: verwijder je berekening van deze sheet. of in de VBA code zet je Application.EnableEvents = False er extra in bij target.column = 2 (net zoals bij target.column = 3)
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False

    If Target.Column = 2 Then
        Target.Value = Left(Target.Value, 4) & " " & UCase(Right(Target.Value, 2))
    End If
    
    If Target.Column = 3 Then
        Target.Value = UCase(Target.Value)
    End If
Application.EnableEvents = True
End Sub

lam 201, was er sneller met de oplossing
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan