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

Fout in VBA-code

Status
Niet open voor verdere reacties.

Ivanhoes

Gebruiker
Lid geworden
6 jun 2015
Berichten
67
Hoi mensen,

Nu ik toch bezig ben.....alweer een vraag.

Ik heb een VBA-code opgenomen. De code daarvan heb ik bijna rechtstreeks geplakt
in Workbook Open. De code moet eigenlijk niets anders doen dan in een al
bestaande gegevensvalidatie in kolom AB, de validatie opnieuw instellen.

Het blijkt namelijk dat elke keer als ik de betreffende werkmap open, de gegevensvalidatie
niet meer werkt. Als ik vervolgens slechts een enter geef in de formule in het kopje "Bron"
bij de gegevensvalidatie, deze weer wel gewoon werkt. Ik heb geen idee hoe dat komt,
maar ik dacht dat ik dat kon oplossen met onderstaande macro-code. En dat levert dus een
foutmelding op bij het openen van de werkmap.

Misschien dat iemand ziet wat ik fout doe? Dit is de code, en de blauwe tekst levert de foutmelding op:

Code:
Private Sub Workbook_Open()

    Worksheets("CONTROLES").Range("AB4:AB25003").Select
    With Selection.Validation
        .Delete
[COLOR="#0000FF"]        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:= _
        "=VERSCHUIVING(AdresSamengevoegd;VERGELIJKEN(LINKS(AB4;LENGTE(AB4));LINKS(AdressenSamengevoegd;LENGTE(AB4));0);0;SOMPRODUCT(--(LINKS(AdressenSamengevoegd;LENGTE(AB4))=AB4));1)"[/COLOR]
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = "Kies een pand uit de lijst."
        .ErrorMessage = _
        "Dit pand staat niet op het tabblad ""Panden"". Vul eerst de gegevens van het pand in op het tabblad ""Panden""."
        .ShowInput = True
        .ShowError = True
    End With
    
End Sub

Alvast bedankt weer en nog steeds de beste wensen voor een ieder.

Ivanhoes.
 
Na 36 posts zou je beter moeten weten: plaats een voorbeeldbestand.
 
En als je zegt een foutmelding te krijgen, zet deze er dan ook bij.
En uiteraard ook het beste gewenst voor dit nieuwe jaar :)
 
Oké, oké......foutje...... :o.......Bij deze alsnog een voorbeeldbestandje.

Ik dacht eigenlijk dat de foutcode de gele regels (hier blauw) betroffen. In mijn VBA geeft hij
die regels geel weer. Vandaar dat ik dacht dat dit genoeg was mbt de foutcode.

Hoe dan ook: in het bijgevoegde bestand wordt de werkmap geopend met dus de fout.

De bedoeling is dat in kolom AB, tabblad controles, een gegevensvalidatie komt te staan.
Met de in het bestand genoemde formule.

Let vooral niet op de layout van de map, want ik moest mijn originele bestand voor deze vraag even schonen.

Alvast bedankt en groetjes,

Ivanhoes.
 

Bijlagen

En nog staat er niet bij welke foutmelding JIJ krijgt...
 
Oh....hahahaha......Pas na nog eens kijken zie ik bovenin foutcode 1004.

Hoe dom kan ik zijn.:o
 
Met Formula1 schrijven we de formules in het Engels.
Met FormulaLocal kan de formule in de taal van je Excel versie (bv Nederlands).
Code:
Formula1:= _
        "=offset(AdresSamengevoegd,match(Left(AB4,LEN(AB4)),Left(AdressenSamengevoegd,LEN(AB4)),0),0,SUMPRODUCT(--(Left(AdressenSamengevoegd,LEN(AB4))=AB4)),1)"
 
Laatst bewerkt:
Hoi Harry,

Bedankt voor je reactie.

En naar aanleiding van je reactie, kan ik alleen maar zeggen dat ik last moet hebben gehad van een black-out.

In VBA Engels gebruiken. Ik zei het al eerder....Hoe dom kan ik zijn.

Bedankt voor de hulp nogmaals!

Groetjes,

Ivanhoes.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan