Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Validatielijst niet meer actief na opslaan en terug openen  (gelezen 1374 keer)

0 leden en 1 gast bekijken dit topic.

Offline Didier70

  • Lid
  • *
  • Berichten: 22
  • Geslacht: Man
  • Oplossing.be
Validatielijst niet meer actief na opslaan en terug openen
« Gepost op: 25 januari 2023, 10:22:57 »
Hey

Misschien is mijn vraag al eens aan bod gekomen maar ik vind de oplossing niet direkt terug.
In mijn excel bestand werk ik in een aantal bladen met een validatielijst, nu is het zo dat de validatielijst in het blad technische fiche catering VF wel blijft werken na opslaan en terug openen maar in de andere bladen( receptenfiche+kostprijs/technische fiche en recept/receptenfiche en technische fiche) niet.
Dus in de bladen waar ze niet werken moet ik de gegevensvalidatie elke keer opnieuw valideren, wat best vervelend is.
Zou iemand mij kunnen helpen dit probleem op te lossen

Ik stuur alvast mijn excel document mee in bijlage

Alvast bedankt voor jullie hulp

Als er nog vragen zijn hoor ik het wel ::)

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Validatielijst niet meer actief na opslaan en terug openen
« Reactie #1 Gepost op: 27 januari 2023, 11:36:53 »
Hallo Didier,

Je hebt een nogal vreemde formule gebruikt voor gegevensvalidatie waarmee, eens een keuze gemaakt, de keuzemogelijkheden meteen worden beperkt tot... die gemaakte keuze. Je kan natuurlijk 'foute' keuzes nog rechtzetten door eerst de cel leeg te maken want dan krijg je terug alle mogelijkheden.

Als je met deze werkwijze tevreden bent kan het wel eenvoudig opgelost raken. De enige reden namelijk waarom gegevensvalidatie op dat ene blad wél werkt is omdat ze bij het openen van het bestand terug wordt ingesteld met vba, m.a.w. het zou anders nergens werken. Het kan dus volstaan om deze code uit te breiden naar de andere werkbladen. Je moet dat natuurlijk wel onder ThisWorkbook doen, want je hebt bij Blad6 ook een 'Private Sub Workbook_Open()' staan ???

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Didier70

  • Lid
  • *
  • Berichten: 22
  • Geslacht: Man
  • Oplossing.be
Re: Validatielijst niet meer actief na opslaan en terug openen
« Reactie #2 Gepost op: 27 januari 2023, 12:05:45 »
Hey Molly,

Op zich maakt het niet zoveel uit welke methode gebruikt wordt voor mijn gegevensvalidatie.
Het enige wat ik wel wil is dat je de mogelijkheden krijgt in de gegevensvalidatie op basis van de eerste ingevoerde letters (hoop dat je begrijpt wat ik bedoel)
Welke manier van gegevensvalidatie zou je voorstellen?

Alvast bedankt voor je reactie


Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Validatielijst niet meer actief na opslaan en terug openen
« Reactie #3 Gepost op: 27 januari 2023, 13:36:12 »
Hallo Didier,

Citaat
Het enige wat ik wel wil is dat je de mogelijkheden krijgt in de gegevensvalidatie op basis van de eerste ingevoerde letters
Dat had ik inderdaad al door, en het werkt ook wel met je formule. Om die te vereenvoudigen zou je vermoedelijk met de functie 'filter' aan de slag moeten, en die heb ik helaas niet in mijn Office-versie. En een workaround zou wel eens (het woord zegt het quasi zelf) tot wat omwegen kunnen leiden.
Aangezien het dus werkt misschien toch maar mijn eerdere suggestie uitvoeren? Dat is een eenmalige eenvoudige ingreep. Succes!

(Eerlijk gezegd zie ik ook niet meteen waarom het na sluiten en openen niet meer werkt - de gegevensvalidatie blijft namelijk wel staan - en dus is het best mogelijk dat ik er later nog eens terug induik...)

Mvg,
Molly

Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Didier70

  • Lid
  • *
  • Berichten: 22
  • Geslacht: Man
  • Oplossing.be
Re: Validatielijst niet meer actief na opslaan en terug openen
« Reactie #4 Gepost op: 27 januari 2023, 14:20:03 »
Zou je mij kunnen zeggen hoe en waar ik die Sub workbook moet veranderen naar This workbook.
Ik vind het niet direkt


Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.177
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Validatielijst niet meer actief na opslaan en terug openen
« Reactie #5 Gepost op: 27 januari 2023, 15:03:42 »
Hallo Didier,

ik vermoed dat MollyVH dit bedoeld:

De code in Blad6  bijplaatsen in de Sub Workbook_open() van ThisWorkbook:
Sub Workbook_Open()
    With Blad1.Range("A10:A40").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:= _
             "=OFFSET(naam,MATCH(LEFT(A10,LEN(A10)),LEFT(producten,LEN(A10)),0),0,SUMPRODUCT(--(LEFT(producten,LEN(A10))=A10)),1)"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = False
    End With
    ' Code uit blad6:
    With Blad6.Range("C5:C35").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:= _
             "=OFFSET(naam,MATCH(LEFT(C5,LEN(C5)),LEFT(producten,LEN(C5)),0),0,SUMPRODUCT(--(LEFT(producten,LEN(C5))=C5)),1)"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = False
    End With
End Sub

Test het anders even uit op een copie.

:) SoftAid :)             

Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Validatielijst niet meer actief na opslaan en terug openen
« Reactie #6 Gepost op: 27 januari 2023, 16:48:57 »
@ SoftAid,

Dank voor je tussenkomst ('k was eerst de wekelijkse boodschappen gaan doen :))
Daar komt het inderdaad op neer, met dien verstande dat er nog meerdere werkbladen zijn waar dezelfde validatie moet worden toegepast, dus dat wordt routinewerk en daarom een karweitje voor TS.

@ Didier,

Dan heb ik waarschijnlijk een verkeerde inschatting gemaakt door te denken dat je dit bestand grotendeels zelf had ontwikkeld(?)
Maar vermoedelijk heb je zelf toch minstens wat acties ondernomen in het vba-project?
Bekijk eens bijgevoegde afbeelding. Daar vind je o.a. "ThisWorkbook", en het is daarin dat je het voor de andere werkbladen op gelijkaardige wijze kan doen. Dat is manier 1.

Manier 2, als je dat eenvoudiger vindt, is om bv. A10 te kopiëren en overal waar nodig de validatie te plakken. Dat kan je zelfs via 'macro opnemen' en daarna die code ook in ThisWorkbook plakken onder de bestaande maar binnen 'Workbook_Open', dus net voor 'End Sub'.

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Validatielijst niet meer actief na opslaan en terug openen
« Reactie #7 Gepost op: 28 januari 2023, 11:55:46 »
Hallo Didier,

Als je al begonnen was met de aanpassingen, dan zou ik ze niet als verloren moeite beschouwen maar eerder als goede oefening, want het is vermoedelijk fundamenteel opgelost.
Ik blijf het een mysterie vinden (kijk waarschijnlijk stomweg ergens over) dat je formule werkte behalve wanneer het bestand tussendoor gesloten werd.
Dat ik er nog eens wou naar kijken kan dus niet echt een verrassing zijn.
De formule bevatte een nogal absurd gedeelte dat ik niet anders kan noemen dan zinloos rondjes draaien: er wordt gekeken naar de inhoud van een cel, dan naar het aantal karakters ervan, en vervolgens wordt het linkerdeel van die celinhoud genomen met dat aantal karakters, en dan kom je onvermijdelijk uit bij het beginpunt, die celinhoud dus :'(
En het kan nog gekker: als de cel leeg is worden de NUL eerste karakters genomen van het getal NUL :(

Ik heb die formule dus herschreven, het overbodige eruit, elders wat bij of veranderd, en om de lege cellen op te vangen is er een ‘als’ bijgekomen.
Zoek de verschillen :D
VERSCHUIVING(Naam;VERGELIJKEN(LINKS(A10;LENGTE(A10));LINKS(producten;LENGTE(A10));0);0;SOMPRODUCT(--(LINKS(producten;LENGTE(A10))=A10));1)
ALS(A10="";producten;VERSCHUIVING(Naam;VERGELIJKEN(A10;producten;1)+1;0;SOMPRODUCT(--(LINKS(producten;LENGTE(A10))=A10));1))

Als test heb ik het op de eerste 2 werkbladen gedaan en het blijft werken. De vba-code om de validatie terug in te stellen is meteen verwijderd. Voor de andere werkbladen mag jij het doen (kopiëren en plakken dus).

O ja, je bestand bleef bij openen maar zeuren over een onvindbare koppeling, dat heb ik ook maar opgekuist.

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

Offline Didier70

  • Lid
  • *
  • Berichten: 22
  • Geslacht: Man
  • Oplossing.be
Re: Validatielijst niet meer actief na opslaan en terug openen
« Reactie #8 Gepost op: 30 januari 2023, 13:07:29 »
Hoi,

Graag wil ik jullie allemaal even bedanken voor het meedenken en vinden van een oplossing.

@ Molly

Jouw oplossing en formule werken perfect! Waarvoor eeuwige dank  _/-\o_
Dit is idd een document dat ik zelf mits links en rechts wat hulp en met vallen en opstaan zelf in elkaar gebokst had.
Nu het document was klein begonnen maar na verloop van tijd beetje bij beetje uitgebreid.
Vandaar denk ik dat er hier en daar wat foputjes zijn ingeslopen.
Maar hey......zo gaat dat nu eenmaal. Ik ben dan ook geen pro in dit soort dingen.  ::)

Nogmaals dank aan jou en SoftAid

Bij deze kunnen deze topic tevreden afsluiten.

 \o/ \o/ \o/

Offline MollyVH

  • Excel-Expert
  • Oplosser
  • *****
  • Berichten: 847
Re: Validatielijst niet meer actief na opslaan en terug openen
« Reactie #9 Gepost op: 30 januari 2023, 15:26:22 »
Hallo Didier,

Citaat
Jouw oplossing en formule werken perfect!
En toch... zat er nog een foutje in :(

Je bent hier, mogelijk zonder het ten volle te beseffen, een erg interessante vraag begonnen. Je had in je bestand een manier van gegevensvalidatie zitten die ik nooit eerder was tegengekomen, en waarvan ik me, hoe graag ik ook experimenteer 0:-), nooit had afgevraagd of dat kon.
Ik had daarom nu voor mezelf een basisvoorbeeldje gemaakt (om in mijn lade met voorbeeldjes te leggen ;)) en daarbij dus die fout opgemerkt: met de letter 'a' kreeg je namelijk nog geen keuzes.

Het is een vergissing die we vermoedelijk met zijn allen wel eens maken, ons laten leiden met wat we al aantreffen met name, in plaats van te gaan denken 'van scratch' :D

Mijn oefening heeft er toe geleid dat we nu wel een volledig correcte werking hebben, en met een veel eenvoudigere formule:
VERSCHUIVING(Naam;VERGELIJKEN(C10&"*";producten;0);0;AANTAL.ALS(producten;C10&"*");1)

Om je niet opnieuw hetzelfde werk te laten doen heb ik het maar meteen overal aangepast in versie 2. Je mag het natuurlijk altijd nog eens nakijken :)

Mvg,
Molly
Windows 11 Home NLD 64bit
11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz 2496
Aspire TC-1660
Intel(R) UHD Graphics 750 1024MB
476 GB SSD KINGSTON OM8PCP3512F-AA
1863 GB HD Seagate ST2000DM008-2FR102
Office 2021 Professional Plus NLD 64bit

 


www.combell.com