• 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 veranderen in "normale" cel

Status
Niet open voor verdere reacties.
Vraagje ivm keuzelijst en formules;

Ik wil mbv keuzelijsten (liefst niet meer dan 3 keuzen) verschillende formules gebruiken. Op zich niet moeilijk met de als functie.

Ik heb keuzelijsten met als keuzen: X,Y,Z

Als X gekozen wordt >> $B$4+1 (omdat Als X gekozen wordt dan moet men de waarde in B4 gebruiken)
Als Z gekozen wordt >> B4+1

Heb ik opgelost met deze formule
Code:
=ALS(D6="X";$B$4+1;ALS(D6="Z";B7+1))

Probleem nu is; bij het kiezen van Y; moet er een cel links boven (ten opzichte van de broncel) gekozen worden en opgeteld met 1.

En bij het kopieren mogen de cellen in het formule van X niet veranderen. Bij Z moet het juist wel veranderen. En Y moet eigenlijk een soort universeel formule worden :confused:

zie bijlage voor de duidelijkheid...


Iemand een idee?
Alvast bedankt,
 

Bijlagen

Zo?

=ALS(D3="X";$B$4;ALS(D3="Y";$A$3;B4))+1

Start in het vervolg een nieuwe topic voor een nieuwe vraag.

Wigi
 
Start in het vervolg een nieuwe topic voor een nieuwe vraag.

Ok :thumb:

Zo?

=ALS(D3="X";$B$4;ALS(D3="Y";$A$3;B4))+1
Nee zo niet...

Mss was mijn uitleg niet zo duidelijk,

Er zijn verschillende keuzelijsten. Vb in F9, F15 en F18;
formules komen in F10, F16 en F18; bedoeling is nu dat als "Y" gekozen wordt, F10,F16 en F18 hun waarde van D7 halen + 1.

en;

- H13 moet zijn waarde van F10 halen
- H28 moet zijn waarde van F25 halen
- J31, J34, J37 en J40 moet zijn waarde van H28 halen

Zie bijlage voor duidelijkheid.
 
Ik begrijp de vraag, maar euh,... wat is het nut van zoiets?
 
Eigenlijk om het gebruiksvriendelijkheid te verhogen, bepaalde stukken komen meerdere keren voor in verschillende "combinaties"... Enja als "Y" niet universeel kan gemaakt worden moet ik of mijn collega's telkens de formule wijzigen... Wat veel tijd in beslag gaat nemen, dit is nu een voorbeeld bestand. In de praktijk kan deze oplopen tot honderden combinaties...
 
Kan je niet onder de afbeeldingen met rode pijlen het benodigde getal overnemen met een celverwijzing:

=C18

bij wijze van voorbeeld. Zo staat het benodigde getal telkens op dezelfde rij, 2 kolommen naar links. Dat vereenvoudigt jouw formules zeker.

Wigi
 
bij wijze van voorbeeld. Zo staat het benodigde getal telkens op dezelfde rij, 2 kolommen naar links. Dat vereenvoudigt jouw formules zeker.
Ja, idd :)

Kan je niet onder de afbeeldingen met rode pijlen het benodigde getal overnemen met een celverwijzing:

=C18
ik heb de pijlen nu wel getekend voor X voor de duidelijkheid maar met X heb ik geen problemen; ik snap dan ook niet wat ik met C18 kan doen?

Als voorbeeld heb ik het zo gekozen dat de waarden telkens het zelfde zijn. Normaal is dat wel niet zo,"+1" wordt dan een formule...

In feite moet ik "=D3: D4" kunnen kopiëren, met een vaste patroon (nu in de voorbeeld telkens met 1 rij en 1 kolom vrij.)

X en Z lukt me maar ik heb problemen met Y.

X is het makkelijkste want deze komt altijd in kolom D
Z is ook makkelijk, deze komt altijd rechts van X of Y...

Maar Y kan een willekeurige plaats hebben (binnen de vaste patroon((1 rij en 1 kolom vrij))). Wat ik dus niet in een formule kan gieten :confused:
 
Ik heb mijn probleem willen oplossen met de volgende:

Ik heb in cel F10 de volgende formule ingevuld:
Code:
=VERT.ZOEKEN("A";C$1:D$33;2)
Ik heb in kolom C voor de respectievelijke cellen "A" ingevuld...
Nu kiest het de waarde in D22; terwijl de dichtsbijzijnde D7 is.

Hoe kan ik ervoor zorgen dat het de dichtste en bovenste (in dit geval boven F10) waarde overneemt?

Het lukt me met het wijzigen van het bereik, maar dat is geen goede oplossing; dat is prul werk :confused:
 
:D
je kickt daar wel van op he :p


Mja, jammer dat het niet helemaal werkt.
Te vroeg gejuicht :(
 
:D
je kickt daar wel van op he :p

Mja, jammer dat het niet helemaal werkt.
Te vroeg gejuicht :(

Is het teveel gevraagd om een link te zetten naar het andere forum? Ik ben trouwens vandaag nog bezig geweest voor jou, zonder dat ik wist dat het ergens anders ook al stond. Als jij niet de moeite doet om dit te vermelden doe ik ook geen moeite meer voor jou.
 
OK, niet bij nagedacht, volgende keer zal ik het wel linken.

Bedankt dat je hebt geprobeerd om me te helpen. :)
 
Probleem is nu opgelost:
Wat ik heb gedaan is, een kleine aanpassing gebracht aan de formule die ik heb gekregen (zie link van wigi)

Namelijk:
Code:
=INDEX(D$3:D18;GROOTSTE((RIJ(D$3:D18))*((ISGETAL(D$3:D18))=WAAR);[B][COLOR="red"]1[/COLOR][/B])-RIJEN(D$1:D$2))

=INDEX(D$3:D18;GROOTSTE((RIJ(D$3:D18))*((ISGETAL(D$3:D18))=WAAR);[B][COLOR="red"]2[/COLOR][/B])-RIJEN(D$1:D$2))

=INDEX(D$3:D18;GROOTSTE((RIJ(D$3:D18))*((ISGETAL(D$3:D18))=WAAR);[B][COLOR="red"]3[/COLOR][/B])-RIJEN(D$1:D$2))

1 veranderd in 2, 3 enz... Eigenlijk zoveel als er variabelen zijn.
Dus dan is;
1 = laatste cel
2 = voorlaatste cel
3 = derde laatste cel
enz...

Wat dus ideaal is voor mijn toepassing :)

Ik dank iedereen die geprobeerd heeft om een oplossing te vinden :thumb:
 
Is er een manier om de cellen als variabele in te geven, zodat als ik de keuzelijst kopieer op "E1" dat het ook nog werkt? ( "B1:B10" moet dan in "F1:F10" veranderen)
((dus geen willekeurige kopie maar altijd 3 kolommen er tussen in))

Om terug te komen op mijn oude vraag; dat ik vandaag pas een oplossing voor heb gevonden :shocked:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    With ActiveCell
         If .Value = "A" Or .Value = "B" Then    
             Application.EnableEvents = False        
            .Offset(1, 10).ClearContents           
             Application.EnableEvents = True
         End If
     End With
End Sub

Wou het even meedelen :)
 
Bedankt om dat te laten weten, maar begrijp je nu dat cross-posten bij helpers heel wat ongenoegen veroorzaakt? Zodanig zelfs dat je vrijwel geen hulp meer krijgt hier voor een al bij al redelijk eenvoudig probleem.

Wigi
 
Ja, ik had toen er niet bij nagedacht... Mja fouten zijn er om van te leren he ;)

Ela, eenvoudig probleem?
Ja, voor jou misschien maar voor mij als "VBA noob" is dit al heel wat :p
 
Ja, ik had toen er niet bij nagedacht... Mja fouten zijn er om van te leren he ;)

Als je ziet wat ik op 6 maart al had gepost:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Or Target.Address = "$E$1" Then
        If Target.Value = "A" Then
            Application.EnableEvents = False
            Target.Offset(, 1).Resize(10).ClearContents
            Application.EnableEvents = True
        End If
    End If
End Sub

Zit vrij dicht bij de uiteindelijke oplossing, niet? ;)

Moraal van het verhaal: niet crossposten en dan is het een kleintje voor mij om dit aan te passen tot wat je nu hebt.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan