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

standaardtekst bij keuzelijst in cel

Status
Niet open voor verdere reacties.

arjoderoon

Gebruiker
Lid geworden
2 mei 2007
Berichten
476
Ik heb in een simpel formulier en aantal keuzelijstjes gemaakt door middel van validatie. Alleen, als er nog niet eerder geklikt is op een cel is het vakje nog helemaal leeg. Hoe krijg ik het voor elkaar dat er dan in die cel staat: maak hier uw keuze... of iets dergelijks?
 
Zoiets?

Pas B2, B3 en B4 aan...
Code:
Private Sub Worksheet_selectionChange(ByVal target As Range)

If Range("B2") = "" Then
       Range("B2") = "Maak hier uw keuze!"
End If
If Range("B3") = "" Then
       Range("B3") = "Maak hier uw keuze!"
End If
If Range("B4") = "" Then
       Range("B4") = "Maak hier uw keuze!"
End If


End Sub

Jantje
 
Arjo, een voorbeeldbestandje kan veel duidelijkheid scheppen.
 
hier het voorbeeldje.

Ik heb de vakjes waarin de keuzelijst gebruikt wordt maar even een rand gegeven zodat het niet zo zoeken is. Ipv van het blanco vakje zou ik daar dus graag, als er nog niks gekozen is, de tekst willen hebben in de vorm van: maak hier uw keuze

hoe krijg ik dat voor elkaar?
 

Bijlagen

Beste arjederoon,

Met de code die ik had gegeven is dat mogelijk;
Code:
Private Sub Worksheet_selectionChange(ByVal target As Range)

       If Range("C4") = "" Then
              Range("C4") = "Maak hier uw keuze!"
       End If
       If Range("E4") = "" Then
              Range("E4") = "Maak hier uw keuze!"
       End If

End Sub

Kopieër dit achter blad1 via:
rechtsklikken op blad1 >> programmacode weergeven >> plakken


Ben benieuwd of het zonder VBA kan...

Jantje
 
als ik hier nog even op terug mag komen:
Ik kon eerst, bij wijze van test, iets invullen om te kijken of het werkte. Dan kon ik daarna op del drukken en dan werd de invoer gewist en werkte de macro / vba weer: dat er automatisch Maak hier uw keuze' komt te staan. Maar dat werkt nu op de een of andere manier niet. Hoe kan ik dat toch voor elkaar krijgen?

Code:
Private Sub Worksheet_selectionChange(ByVal target As Range)

       If Range("F24") = "" Then
              Range("F24") = "Maak hier uw keuze"
       End If
       If Range("F28") = "" Then
              Range("F28") = "Maak hier uw keuze"
       End If
              If Range("C30") = "" Then
              Range("C30") = "Maak hier uw keuze"
       End If
       If Range("A39") = "" Then
              Range("A39") = "Maak hier uw keuze"
       End If
              If Range("B43") = "" Then
              Range("B43") = "Maak hier uw keuze"
       End If
       If Range("B45") = "" Then
              Range("B45") = "Maak hier uw keuze"
       End If
       If Range("B47") = "" Then
              Range("B47") = "Maak hier uw keuze"
       End If
       If Range("B49") = "" Then
              Range("B49") = "Maak hier uw keuze"
       End If


End Sub
 
Laatst bewerkt:
Ik vermoed dat de macro veranderd moet worden tot:

Code:
Private Sub Worksheet_selectionChange(ByVal target As Range)
    If Not Application.Intersect(target, Range("F24,F28, C30,A39,B43,B45,B47,B49")) Is Nothing Then
        If Len(target.Value) = 0 Then target.Value = "Maak hier uw keuze"
    End If
End Sub

al kan het best zijn dat ik het niet 100% begrepen heb.

Wigi
 
misschien moet ik het wat duidelijker vertellen dan:
ik heb nu cel b43. Daar staat nu (er is nog niks ingevoerd) 'maak hier uw keuze'. Ik heb daar een validatie opzitten waardoor 2 opties gekozen kunnen worden. Klik ik bijvoorbeeld de eerste aan om even te testen of de daaraan gekoppelde formule werkt. Dan staat er nu bijvoorbeeld 'buitendienst'. Ik wil dat dan weer weghalen, en eerst kon ik dan op del klikken. Dan was de cel helemaal leeg, maar dan veranderde het automatisch in 'maak hier uw keuze'.

MAar dat wil nu op de een of andere manier. En dan zou dan voor al die cellen uit de code onafhankelijk moeten kunnen..
 
De code is een SelectionChange gebeurtenis, m.a.w. de hele code wordt uitgevoerd ELKE KEER dat je een andere cel of cellen selecteert. Wellicht is dat niet wat jij wil en moet je nadenken over hoe je dan wel de macro wil aansturen.

Wigi
 
Dat de code uitgevoerd elke keer als er een (andere) cel geselecteerd wordt is geen probleem. Als de cel leeg is, moet daar gewoon staan: maak hier uw keuze. Maar dat krijg ik niet voor elkaar nu, nu de celinhoud gewist is.

ik weet ook niet hoe ik dat nu voor elkaar kan krijgen. de code die je me gaf hielp me ook niet. zal wel een voorbeeld bijplaatsen zo.
 
hierbij het bestand ter voorbeeld. Op de een of andere manier krijg ik niet de tekst terug 'maak hier uw keuze' als ik in de bewuste cel op del druk als ik getest heb.

De ene keer deed het het wel, de andere keer weer niet. Er zal ongetwijfeld een verklaring voor zijn maar mijn kennis reikt niet ver genoeg om deze te ontdekken.
Het gaat om het eerste blad, waar in verschillende vakken 'maak hier uw keuze' zou moeten komen te staan.

edit: het lijkt er wel op alsof die macro niet uitgevoerd wordt...
 

Bijlagen

Laatst bewerkt:
Zo?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Not Intersect(Target, Range("E24,E28,C30,A39,B43,B45,B47,B49")) Is Nothing Then
        If Target = "" Then
            Application.EnableEvents = False
            Target = "Maak hier uw keuze"
            Application.EnableEvents = True
        End If
    End If

End Sub

Wigi
 
ik denk dat de macro gewoon niet uitgevoerd wordt...
ook deze code geeft geen enkel resultaat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan