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

excel 2003 funktie Data / valideren

Status
Niet open voor verdere reacties.

panlaan

Gebruiker
Lid geworden
19 sep 2007
Berichten
138
Forum

Ik ben met een formulier bezig waarbij de gebruiker in een bepaalde cel alleen de waarde 01 t/m 22 mag invullen. Ik doe dit d.m.v. Data / valideren / lijst. De gebruiker krijgt op genoemde cel dan ook aangeboden:
01 met een helptekst
02 met een helptekst
enz.

Tot zover alles goed, echter ik wil bereiken dat alleen de waarde wordt overgenomen in de cel, dus niet de helptekst, dus bv 01 of 11

Suggesties?

ps ik heb gezocht op het forum en gegoogled maarr net niet het goede antwoord gevonden
 
panlaan,

Heb je een voorbeeld bestandje waarbij iets duidelijker wordt wat je exact wilt?
De gebruiker toetst in 01 t/m 22 en dit wil er ook bijgezocht hebben?
dus niet de helptekst, dus bv 01 of 11
dit vind ik vreemd,

Succes,
Martin
 
Laatst bewerkt:
panlaan,

Wellicht is dit wat je zoekt:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 5 Then
        With ActiveCell
            .HorizontalAlignment = xlRight
            .NumberFormat = "@"
            .Value = Left(.Value, 2)
        End With
    End If
End Sub
Hierbij ben ik er even vanuit gegaan dat de gegevens in kolom E worden ingevuld. Dat kan uiteraard iedere willkeurige kolom zijn.

Mvg,

Ronald
 
even een nadere uitleg met een file die, hoop ik, e.e.a. duidelijk maakt, wat is ik zoek is dat een gebruiker in een formulier in een bepaalde cel een waarde moet invullen, en dat deze waarde moet liggen tussen 01 en 22.

Deze waarde staat voor een bepaalde code b.v. 01 = aanwezig, 02 = ziek, 03 = verlof

Om het de gebruiker makkelijk te maken heb/had ik gebruik gemaakt van de functie Data / Valideren / Lijst

Op zich werkt dit goed.....echter ik wil alleen de waarde overhouden, dus NIET "01 aanwezig" maar alleen als getal "01" (heb ik verderop weer nodig)
 

Bijlagen

even een nadere uitleg met een file die, hoop ik, e.e.a. duidelijk maakt, wat is ik zoek is dat een gebruiker in een formulier in een bepaalde cel een waarde moet invullen, en dat deze waarde moet liggen tussen 01 en 22.

Deze waarde staat voor een bepaalde code b.v. 01 = aanwezig, 02 = ziek, 03 = verlof

Om het de gebruiker makkelijk te maken heb/had ik gebruik gemaakt van de functie Data / Valideren / Lijst

Op zich werkt dit goed.....echter ik wil alleen de waarde overhouden, dus NIET "01 aanwezig" maar alleen als getal "01" (heb ik verderop weer nodig)

de functie LINKS kan je helpen. =LINKS(jouwcel;2)

zie bijlage ;)
 

Bijlagen

Ik snap wat je schrijft.........maar hoe dit te combineren in EEN cel

panlaan

Je kan de functie "Links" gewoon nesten in een formule verderop, vermits je zegt dat je de 01 verderop nog nodig hebt.

Joske
 
foutmelding

ronald,

allereerst bedankt voor je hulp, maar ik krijg een foutmelding, zie attach

groet

peter
 

Bijlagen

  • fout 1004.png
    fout 1004.png
    21,5 KB · Weergaven: 75
Peter,

Ik weet ook niet precies hoe dat komt. Probeer het eens door het woord Activecell te wijzigen in Target.
Wat je ook zou kunnen doen is de gehele kolom op rechtsuitlijnen zetten en de regel in de code verwijderen. Je krijgt dan de volgende code:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Column = 4 Then
            Target.NumberFormat = "@"
            Target.Value = Left(Target.Value, 2)
    End If
End Sub

Groet,

Ronald
 
Je hoeft de celinhoud in kolom D niet te wijzigen om van het getal in de cel gebruik te kunnen maken.

met links(D5;2)*1 kun je een eind komen
 

Bijlagen

Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan