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

keuzelijst gegevens aanpassen. Bij al gekozen cellen.

Status
Niet open voor verdere reacties.

rozebooz

Gebruiker
Lid geworden
3 apr 2012
Berichten
52
Goedemiddag,

Ik loop tegen iets aan waar ik zelf niet uit kom en hier niet iets over terug kan vinden. Graag zou ik horen of het ubberhaupt mogelijk is wat ik wil en hoe dit dan werkt.

Voorbeeld:

In kolom A kan ik een keuzelijst selecteren en heb ik al bij 5 rijen gegaan. A1= brood A2= kast A3=brood A4=stoel A5=kast, nu pas ik de bron aan van mijn keuzenlijst. Brood,Kast,stoel. Dit verander ik naar Brood,Kast,Tafel. Als ik in kolom A mijn keuzelijst selecteer zie ik netjes Brood,Kast,Tafel. Maar A4, die ik natuurlijk al eerder een item uit de keuzelijst had gekozen, is niet aangepast.

Hoe kan ik toch zorgen dat ik niet dit handmatig bij langs hoef te gaan(zeker met lange lijsten)? Mocht ik iets veranderen dat dan de bestaande gegevens ook mee kunnen veranderen? Ik kan natuurlijk de items die in de keuzelijst al staan, laten staan en enkel nieuwe toevoegen zodat alle gegevens wel verwerkt worden. Enkel vind ik het een stuk mooie er netter staan als alles in 1 keer aangepast kan worden.

Graag hoor ik of iemand de oplossing voor mij heeft.
 
Volgens mij kan dat niet. De naam zegt het eigenlijk al: KEUZELIJST, oftewel je moet kiezen en als je dat eenmaal gedaan hebt blijft de keuze staan tot je opnieuw kiest :confused:
 
Ik heb een voorbeeldje gemaakt maar eigenlijk moet jij dat natuurlijk doen.
Studeer er maar eens op.
 

Bijlagen

Dank voor jullie reacties en Timshel bedankt voor de voorbeeld. :)

Ik zie gebeuren wanneer een item uit de keuzelijst wordt, dat het item wordt weergegeven, maar ook dat er een fomulle bij zit die weer aan de lijst matcht. Dus wanneer ik iets verander dat de al gekozen items mee veranderen. Precies wat ik zoek!

Ook heb ik iets gedaan waardoor de formule nu niet meer meekomt als ik iets selecteer :(! ik weet niet wat. Zelf opnieuw het bestandje openen helpt niet.

Zou je mij willen uitleggen hoe je dit gedaan heb zodat ik het kan toepassen?
 
ExcelAmateur in het voorbeeld bestand van dat onderwerp verdwijnen de namen nadat ze gekozen zijn. Dit zou ik in mijn geval niet willen. VBA heb ik nagenoeg geen kennis van, helaas zie/begrijp ik niet of je een gedeelte van de codes als suggestie voor mijn probleem wil voorstellen. Dank je wel voor je input in ieder geval :)
 
Er wordt gebruik gemaakt van een benoemd bereik ("Product") en een macro die de geselecteerde waarde vervangt door een formule met een celverwijzing. De code staat in de module van het werkblad:
Code:
Private Sub Worksheet_Change(ByVal Tg As Range)
    On Error GoTo Hell
    If Tg.Column = 1 And Tg.Row > 1 And Tg.Count = 1 And Tg <> "" Then
        Application.EnableEvents = False
        Tg = "=" & [Product].Parent.Name & "!" & [Product].Find(Tg.Value, LookAt:=xlWhole).Address
    End If
Hell:
    Application.EnableEvents = True
End Sub
Dat het bij jou ineens niet meer werkt heeft er vermoedelijk mee te maken dat de code is gecrasht en er geen events meer worden afgehandeld.
 
Laatst bewerkt:
Dank je wel Timshel voor je uitleg en code. Dit is de eerste keer dat ik met een macro (probeer) te werken. Ik heb proberen te ontdekken hoe dit werkt, maar kom er helaas niet uit en ben bang dat ik er een zooitje van maak.

Als ik bij jou bestandje, in excel, op het tabblad ontwikkelaars klik en daarna op visual basic klikken. Dit is waar de macro code heen moet dacht ik? Dan zie ik jou gegeven code onder sheet1 staan. Het bestandje werkt weer helemaal prima, ik vermoed dat ik macro's had uitgeschakeld want hij gaf beveiliging aan.

Nu dacht ik heel simpel jou code te gebruiken en dan enkel [Product] in [Keuzelijst] te veranderen en dit in de sheets te zetten waar ik ze nodig heb. Maar er gebeurt niks. Ook heb ik onder 'invoegen' 'module' maken geklikt en dan wordt er een apart mapje aangemaakt. Dan gebeurt er ook niks.

Ook heb ik in jou bestandje geprobeerd of het mij wel lukt in sheet2. Maar ook niet helaas. Hoe kan ik dit wel laten werken of moet ik de code nog ergens aanpassen naar een bepaalde sheet om hem te werken?

Graag zou ik willen begrijpen hoe dit werkt, zodat wanneer ik de macro in de toekomst in een nieuw werkblad wil gebruiken dit ook lukt.
 
Laatst bewerkt:
Aan de hand van je beschrijving kan ik niet herleiden wat er misgaat.
Zie je kans een voorbeeldbestand te plaatsen? Laat eventueel gevoelige informatie weg, het gaat even alleen om de structuur van je bestand met een paar voorbeeldgegevens.
 
Onder het blad winst en verliesrekening staat rechts de lijst die ik wil gebruiken. Hierboven staat keuzen lijst.

in de andere 3 bladen staat telkens bovenaan een kopje categorie. in deze lijst zou ik graag de functie willen zien.


Bekijk bijlage Map1 zonder gegevens.xlsx
 
Als ik postje# 8 doorlees, denk ik [Product] is te vinden in Formules -> Namen beheren.
 
Een paar dingen.
Volgens mij groeit jouw boekhouding Excel een beetje te boven. Zou je niet eens overstappen op een boekhoudprogrammaatje? Er zijn betaalbare opties voor het MKB.
Benoemd bereik [Keuzelijst] komt meerdere keren voor in het bestand. Een aantal verwijst naar lijsten in andere bestanden. Dat gaat niet werken. Maak een unieke naam aan. Dat er lege cellen staan in het bereik compliceert de boel nog verder.
Het actieve bereik met validatielijsten staat bij jou in kolom I (9) of F (6). Dat zou aangepast moeten worden:
Code:
Private Sub Worksheet_Change(ByVal Tg As Range)
    On Error GoTo Hell
    If [COLOR="#FF0000"]Tg.Column = 1[/COLOR] And Tg.Row > 1 And Tg.Count = 1 And Tg <> "" Then
        Application.EnableEvents = False
        Tg = "=" & [Product].Parent.Name & "!" & [Product].Find(Tg.Value, LookAt:=xlWhole).Address
    End If
Hell:
    Application.EnableEvents = True
End Sub
 
Eigenlijk ben ik maar een kleine ondernemer hoor :) Maar wie weet dat ik in de toekomst ergens anders naar ga kijken. Voor nu werkt dit systeem perfect samen met mijn andere systemen op 2 dingen na, onder andere dit dus :( en dat andere puntje zal waarschijnlijk een minder ingewikkeld puntje zijn, hoop ik hahah.

Gisteravond ben ik weer bezig geweest, maar ik zie het niet of kom er gewoon niet uit wat ik fout doe. Ik heb het vermoede dat het iets heel stoms is of dat er in mijn handelingen gewoon een stap mist.

Nu heb ik in jou voorbeeld bestand een nieuwe lijst proberen te maken (zonder succes).
Als eerst heb ik een lijst gemaakt in sheet 2 en deze benoemd "Testlijst".
Hierna heb ik in sheet 1 een validatielijst gemaakt op basis van lijst =Testlijst. Dit werkt allemaal prima, maar dan nog zonder dat hij een code geeft ipv de benaming.

Hierna ben ik naar Visual Basic gegaan om de code er bij te plakken in sheet 1 met de aangepaste naam Product > Testlijst. Onder de al bestaande code van het lijstje die jij had gemaakt, die het ook al niet meer doet. een keer verwijderd andere neer gezet (tijdens test van mij) en de oude weer terug geplakt en toen niks meer?? In mijn logica is het dezelfde en zou hij het gewoon dan weer moeten doen ?. De nieuwe code die ik voor mijn 2de lijstje heb bijgemaakt heeft uiteraard ook weinig succes. :( Het is heel frustrerend om de perfecte oplossing voor handbereik te hebben en het niet wil lukken.




Bekijk bijlage Hotlist2.xlsm
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan