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

IBAN alleen laatste 4 cijfers weer laten geven

  • Onderwerp starter Onderwerp starter Mcvk
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Mcvk

Nieuwe gebruiker
Lid geworden
11 dec 2019
Berichten
4
Ik ben een document aan het maken van transacties en vanwege privacy moeten de IBAN nummers vervangen worden door een * of weg gelaten worden, behalve de laatste 4. Ik probeer het nu op onderstaande wijze, maar dit werkt blijkbaar niet met alfanumeriek.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim I As Long
    Dim xVal As String
    On Error Resume Next
    If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    For I = 1 To Target.Count
        If Len(Target(I).Text) >= 4 Then
            Target(I).Value = Right(Target(I).Value, 4)
        End If
    Next
    Application.EnableEvents = True
End Sub
 
Laatst bewerkt:
Ik zag deze. IBAN 18 tekens in A1, in B1 * en C1 =VERVANGEN(A1;1;14;B1)
 
In kolom A
Code:
Sub hsv()
 Cells(1).CurrentRegion.Columns(1).Name = "b"
 [b].Offset(, 1) = [if(len(b)>3,rept("*",len(b)-4)&right(b,4),b)]
End Sub
 
In J1:

PHP:
="*"&MOD(I1;10^4)

of

PHP:
Sub M_snb()
    [K1:K100] = [if(I1:I100="","","*" & right(I1:I100,4))]
End Sub
 
Laatst bewerkt:
Het lukte door de gegevens uit de kolom te verwijderen en vervolgens terug te zetten, dat activeerde blijkbaar de VBA code.
 
mwah.. ik weet vrij zeker dat het aan deze regels ligt.

Application.EnableEvents = False
jou code
Application.EnableEvents = True

Deze code zorgt namelijk dat ook de event macro's worden uitgeschakeld en weer ingeschakeld.
Als je echter nieuwe code aan het testen bent loopt die vaak vast voor dat EnableEvents weer op true word gezet.

Als je dan na een aanpassing gaat testen werkt "opeens" de eventmacro helemaal niet meer.

je kunt dat oplossen door een mini macro te maken

Code:
Sub EventsTrue()
 Application.EnableEvents = True
end

Elke keer als het testen van een Event macro vastloopt moet je dan zelf even die macro runnen of via immediate window die code regel uitvoeren

Kortom wees voorzichtig met gebruik van EnableEvents in marco's en altijd super alert dat je ze weer op True zet want zolang je dat niet doet zal elke Eventmacro niet uitgevoerd worden totdat je het weer activeert. (of Excel opnieuw opstart). Zeker in de fase dat je code aan het testen bent kan dit heel frustrerend werken omdat je niet goed kan zien dat het uitstaat.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan