• 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: waarde van <OK> en <Annuleren> opvragen

Status
Niet open voor verdere reacties.

HulpCharlie

Gebruiker
Lid geworden
20 feb 2018
Berichten
47
Aan allen


Ik gebruik volgende code om de gebruiker ofwel een waarde in te geven en de <OK>/<Annuleren> toets drukken
of alleen op de <OK>toets te drukken zonder iets in te geven
of <Annuleren>

Dim vCode as variant
vCode = InputBox(Trim("Ingeven van code"), "WIJZIGEN VAN AANDELEN", , 1500, 1500)

Kan ik in het resultaat (vCode) weten welke knop de gebruiker gebruikt heeft? (iets zoals vbYes, vbNo in Msgbox)?

Overal gezocht en niet gevonden

Alvast bedankt aan iedereen

Charlie
 
moeten we dat zelf bouwen of heb je reeds een aanzet?
 
Inputbox geeft bij annuleren een lege string terug.
Code:
x = InputBox(Trim("Ingeven van code"), "WIJZIGEN VAN AANDELEN", , 1500, 1500)
If x <> "" Then
    MsgBox x
Else
    MsgBox "Geannuleerd"
End If
 
Laatst bewerkt:
En als je wil weten wanneer wie wat gedaan heeft doe je het zo.
 

Bijlagen

Emields

Bedankt voor voorbeeld.
Ik heb echter nog een vraag hierbij:


1. Als ik iets ingevuld heb en <OK> druk krijg ik de tekst te zien => OK
2. Als ik <Annuleren> druk krijg ik : geannuleerd => OK
3. Als ik niets heb ingevuld en <OK> druk krijg ik ook "geannuleerd"

Kan ik het een onderscheid van de actie 2. en 3. opvangen?

Alvast BEDANKT voor je voorbeeld

Groeten

Charlie
 
Dat is toch logisch als je controleert op een lege waarde?
Als je niets invult en op Ok klikt is de waarde net zo leeg als wanneer je op Annuleren klikt, wat altijd een lege waarde terug geeft,
 
Beste

Ik heb programma wat aangepast met in de inputbox een standaard tekst te plaatsen.
Hierdoor is het probleem van "geen tekst + OK geannuleerd" opgelost. Alleen als de standaardtekst wordt gewist en dan <OK> gebruikt krijgt men "geannuleerd"

Groeten

Charlie
 

Bijlagen

Er is ook nog een Application.Inputbox. Die geeft een Boolean resultaat bij klikken op annuleren:
Code:
Sub Knop1_Klikken()

    Dim strDefault As String
    Dim vCode As Variant
    strDefault = "Standaardtekst"

    vCode = Application.InputBox(Trim("Ingeven van code"), "WIJZIGEN VAN AANDELEN", strDefault, 1500, 1500)
    If TypeName(vCode) = "Boolean" Then
        MsgBox "Op annuleren geklikt"
    Else
        [a1] = vCode
        With [m1000].End(xlUp)
            If vCode <> "" Then
                .Offset(1).Resize(, 3) = Array(Now(), Application.UserName, vCode)
            Else
                .Offset(1).Resize(, 3) = Array(Now(), Application.UserName, "Lege waarde opgegeven")
            End If
        End With
    End If
End Sub
 
Handig :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan