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

inputbox

Status
Niet open voor verdere reacties.

nobody11

Gebruiker
Lid geworden
20 dec 2007
Berichten
552
hey,

hoe kan ik in vba het beste een inputbox maken warin de gebruiker slechts keuze heeft uit 3 inputmogelijkheden 1, 2, 3.. ik zoek een code waarbij de gebruiker enkel 1, 2 of 3 kan ingeven, zoniet komt de inputbox opnieuw met een opmerking " Gelieve enkel 1, 2 of 3 te kiezen"

hoe doe ik dit best?
 
hey,

hoe kan ik in vba het beste een inputbox maken warin de gebruiker slechts keuze heeft uit 3 inputmogelijkheden 1, 2, 3.. ik zoek een code waarbij de gebruiker enkel 1, 2 of 3 kan ingeven, zoniet komt de inputbox opnieuw met een opmerking " Gelieve enkel 1, 2 of 3 te kiezen"

hoe doe ik dit best?

Ik zou geen inputbox gebruiken maar een formulier die je dan naar eigen wensen aan kan passen.

Met vriendelijke groet,


Roncancio
 
En Data > Validatie > Lijst in een sheet?

het probleem is een beetje het volgende:

het is een supergrote sheet (met meer als 2miljoen datapunten). Daardoor heb ik de calculatie op "manueel" gezet en als je met een lijst en validatie werkt, dan is het probleem dat als de gebruiker iets anders selecteert uit een lijst , dat zonder een F9 (of shift F9) vba de nieuwe keuze niet herkent. vandaar dat ik het via een inputbox zou willen laten verlopen..

is dit doenbaar? of gaat het voor problemen zorgen? :)

bedankt voor de input!
 
Code:
do 
  c1=inputbox("kies 1,2 of 3")
loop until instr("|1|2|3|","|"& c1 &"|")>0
 
tx iedereen!! supergoede hulp (as usual)

Code:
  Do
        vraag = InputBox("Kies 1 of 2")
        Loop Until InStr("|1|2", "|" & vraag & "|") > 0
            If vraag = 1 Then
                methode = 4
        

            If vraag = 2 Then
              Do
              methode = InputBox("Kies 1 2 of 3")
              Loop Until InStr("|1|2|3|", "|" & methode & "|") > 0
            End If
            End If

bij de eerste loop kan ik blijkbaar geen 2 ingeven, hij wil enkel verder gaan als het antwoord 1 is.. wat doe ik fout?
 
Laatst bewerkt:
nobody11,

Ik heb er dit van gemaakt en nu loopt hij wel door, het rode er uit.
Code:
[COLOR="Red"]'Do[/COLOR]
        vraag = InputBox("Kies 1 of 2")
        [COLOR="red"]'Loop Until InStr("|1|2", "|" & vraag & "|") > 0[/COLOR]
            If vraag = 1 Then methode = 4
            If vraag = 2 Then
            methode = InputBox("Kies 1 2 of 3")
              Do
              Loop Until InStr("|1|2|3|", "|" & methode & "|") > 0
            End If
            [COLOR="Red"]'End If[/COLOR]
 
Laatst bewerkt:
bedankt

ik heb eens geprobeerd met een msgbox met Yes en NO, ipv 1 en 2 te moeten ingeven vr het eerste (dan moeten ze een keuze maken), maar dat werkt niet..

Code:
 vraag= MsgBox("kies ja of nee", vbyesno)
        If ans = vbNo Then
        methode= 1
        If ans = vbYes Then
        methode = 2
        End If
        End If
   

if methode = 2
  Do
              nieuwevraag = InputBox(kies 1 2 of 3")
              Loop Until InStr("|1|2|3|", "|" & nieuwevraag& "|") > 0
            End If

dit lukt niet :( is die ans = vbno en vbyes fout?
 
nobody11,

Zo doet hij het wel.
vraag is het antwoord uit de MsgBox en niet ans

Code:
vraag = MsgBox("kies ja of nee", vbYesNo)
        If vraag = vbNo Then methode = 1
        If vraag = vbYes Then methode = 2
 
nobody11,

Zo doet hij het wel.
vraag is het antwoord uit de MsgBox en niet ans

Code:
vraag = MsgBox("kies ja of nee", vbYesNo)
        If vraag = vbNo Then methode = 1
        If vraag = vbYes Then methode = 2

sorry,ik had het hier verkeerd gekopieerd, dat doet hij toch niet.. heb dat al aangepast.. vind het echt raar..

edit: ik heb de variabele wel nog niet gedefinieerd , zal dat eerst eens doen..
 
Hij werkt zo wel bij mij.

Code:
vraag = MsgBox("kies ja of nee", vbYesNo)
        If vraag = vbNo Then methode = 1
        If vraag = vbYes Then methode = 2
        
     If methode = 2 Then
        Do
          nieuwevraag = InputBox("kies 1 2 of 3")
        Loop Until InStr("|1|2|3|", "|" & nieuwevraag & "|") > 0
     End If
 
eerst een keuze uit 2 dan een keuze uit 3

Code:
If msgbox("methode 1 ?",vbYesNo)=vbYes then
  do 
    c1=inputbox("kies 1,2 of 3")
  loop until instr("[COLOR="Red"][B]|[/B][/COLOR]1|2|3[B][COLOR="red"]|[/COLOR][/B]","|"& c1 &"|")>0
Else
  do 
    c1=inputbox("kies 1,2,3 of 4")
  loop until instr("[COLOR="red"][B]|[/B][/COLOR]1|2|3|4[B][COLOR="red"]|[/COLOR][/B]","|"& c1 &"|")>0
End if

Let op ! de toetsreeks (bijv. "|1|2|3|") begint en eindigt altijd met een pijplijn (|)
dat is gedaan om bij bji groter aantallen een ondersehdie te kunnen maken tussen 1 en 11, 12 13, etc.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan