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

Valideren [speciaal]

Status
Niet open voor verdere reacties.

John van Opstal

Gebruiker
Lid geworden
31 jul 2006
Berichten
77
Wie kan/wil mij helpen,

In blad2 heb ik in kolom A een codenummer staan.
In blad2 heb ik in kolom B een omschrijving van dit nummer staan [zelfde rij].

Nu wil ik via valideren in een cel op blad1 kiezen uit de omschrijvingen uit blad2 kolom B
Maar als uitkomst wil ik het codenummer uit blad2 kolom A terugzien.

Het is niet de bedoeling om te kiezen uit de omschrijving en in een andere cel met bijvoorbeeld vert.zoeken te verwijzen naar het codenummer.

Ben zeer benieuwd naar reacties,
Groetjes John.
 
Eeh... je wilt dus eigenlijk gewoon een droplist, waaruit je een waarde kan kiezen uit blad 1?

Benoem het bereik op blad 2 (selecteer bereik, [invoegen]>>[naam]>>[definiëren]), en geef dat op als criterium voor de droplist in blad 1
 
Bedankt voor je snelle reactie,

Dat van die droplist dat klopt, maar ik wil graag uit kolom 2 kiezen en het antwoord in mijn gevalideerde celletje moet als uitkomst de naast gelegen code zijn uit kolom 1.

Dus dat is wat gecompliceerder als valideren uit een ander blad, dat heb ik onder de knie.

Groetjes John
 
hmm... ik begrijp wat je bedoelt. Dat lukt ook wel, maar niet helemaal zoals je het graag wilt. Ik blijf met een klein omweggetje zitten. In de bijlage heb ik een voorbeeldje gestopt.

Het moet wel in één keer kunnen, met behulp van INDIRECT(), maar op de een of andere manier krijg ik dat niet voor elkaar.
Hopelijk ben je hier toch mee geholpen. ;)
 

Bijlagen

Je bestandje is heel handig om precies uit te leggen wat ik bedoel.

Het is de bedoeling als ik "Kees" kies in cel A1 dat dan de waarde "10" in cel A1 verschijnt.

Inmiddels heb ik 30 uren op Internet gezocht naar een oplossing voor dit probleem
In visual basic heb ik een code gezien die het bijna voor elkaar heeft, maar daar zit een defectje in.
Ik heb niet voldoende kennis van visual basic om die code te verbeteren.

Binnen dit forum ook alles van valideren gelezen en ook op de site die heel vaak geadviseerd wordt.

Ik hoop dat jij nog iets weet...
Gr John
 
... ik snap het helemaal, maar wat je zegt.. het lukt niet. Ik ben ervan overtuigd dat het met INDIRECT() moet kunnen, heb het ook zitten proberen, maar ik krijg het niet werkend. Misschien kan je helpmij-lid Wigi je helpen?

Je zou eens kunnen wagen een vraag te posten op het forum van www.mrexcel.com.
Zonder twijfel het allerbeste excel-forum op het internet.
 
Bedankt voor je advies.
Ik zal zeker een vraag uitzetten op mrexcel.

Wigi verwijst regelmatig naar www.contextures.com en daar staat inderdaad een voorbeeld DV0004, DataValCode.xls wat doet wat ik wil.
Maar op het moment dat je daar eenmaal handmatig iets in die cel dan krijgt die VBA code last van stress.

N.a.v van Wigi's antwoorden heb ik inmiddels wel door dat als iemand het weet hij het zou kunnen zijn.
Ik hoop dat hij iets voor me kan doen.

Gr John
 
Laatst bewerkt:
Wigi zei:
Ik zal eens proberen

Gotcha :D

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$4" Then
    Set c = Worksheets("Sheet2").Range("choices").Find(Target.Text, _
        LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then Target = c.Offset(0, 1).Value
End If
End Sub

Zie ook bijhorend bestand.

Wigi
 

Bijlagen

Wigi, er is toch nog 1 dingetje wat ik nodig heb om te realiseren wat ik zou willen...
Dat is dat ik de cel waarin ik kan valideren doorvoeren naar cellen in de zelfde kolom.

Stom dat ik dat niet eerder gemeld heb, ik hoop dat je nog een poging voor me wil doen.

Groetjes John.
 
Je bedoelt dat wat nu in D4 gebeurt ook zou moeten gebeuren in cellen daaronder? Door gewoon door te voeren? En telkens moet er dan die "omzetting" gebeuren?
 
Ja dat klopt, ik wil eigenlijk in heel kolom D [uit jouw bestandje] gebruik kunnen maken van deze optie.

In de code heb ik $D$4 al geprobeerd te veranderen in D4, of D:D, of D1:D50, maar dat werkt niet, sterker nog dan werkt de basis ook niet meer.

Ik verwacht dat in visual basic Het doeladres anders geformuleerd moet worden, maar daar ontbreekt mijn kennis.

Je zou mij heel gelukkig maken als je deze stap nog voor mij zou willen uitzoeken
Groetjes John
 
Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
On Error Resume Next
With Target
If .Count = 1 and .Column = 4 And .Validation.Type = 3 Then
    Set c = Worksheets("Sheet2").Range("choices").Find(.Text, _
        LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then .Value = c.Offset(0, 1).Value
End If
End With
End Sub

Lukt het?

Wigi
 
Bedankt Wigi,

Ik heb het getest en het werkt perfect, ik ben jaloers op de kennis die jij op dit gebied bezit.

Groetjes John.
 
John van Opstal zei:
Bedankt Wigi,
Ik heb het getest en het werkt perfect, ik ben jaloers op de kennis die jij op dit gebied bezit.
Groetjes John.

Studeren, oefenen, studeren, oefenen, studeren, oefenen, ...

En op een dag zullen er anderen jaloers zijn op jouw kennis ;)

Veel plezier ermee.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan