Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Cancel in inputbox  (gelezen 4481 keer)

0 leden en 1 gast bekijken dit topic.

Offline Justaguy

  • Lid
  • *
  • Berichten: 86
  • Wie zoekt, die vindt ... het in Oplossing.be
Cancel in inputbox
« Gepost op: 11 oktober 2005, 20:28:13 »
Hallo, hier ben ik nogmaals  :-[

Bij een inputbox kan men bij ingave op ok of op cancel drukken.
Nu is het de bedoeling dat indien men op Ok drukt de ingegeven waarde gekontroleerd wordt of het tussen 0 en 15 ligt en bij het indrukken van cancel dient de macro onderbroken te worden en naar het origineel scherm te gaan.

Thx
Just_a_Guy.
SYSTEEM: AMD Athlon 1Ghz - 256Mb RAM - Win XP - Office2003 – kabel)

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Cancel in inputbox
« Reactie #1 Gepost op: 11 oktober 2005, 21:13:03 »
Wat moet er na OK en de controle gebeuren? Indien wel/niet tussen 0 en 15?

Bij cancel: wat is het originele scherm? De actieve sheet?

Bart
WinXP - Excel 2000/XP/2003

Offline Justaguy

  • Lid
  • *
  • Berichten: 86
  • Wie zoekt, die vindt ... het in Oplossing.be
Re:Cancel in inputbox
« Reactie #2 Gepost op: 11 oktober 2005, 21:15:25 »
Hallo Barthold,
het is eigenlijk gewoon een voorbeeld.
Maar ik zit  altijd gefopt dat indien men een verkeerde ingave of op cancel drukt een foutmelding geeft en de macro afbreekt.
In de plaats zou ik gewoon willen dat de sub de macro verlaat en bij verkeerde ingave niets doet.
SYSTEEM: AMD Athlon 1Ghz - 256Mb RAM - Win XP - Office2003 – kabel)

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Cancel in inputbox
« Reactie #3 Gepost op: 11 oktober 2005, 21:19:23 »
OK, dit is een mogelijkheid:

Private Sub CommandButton1_Click()

getal = InputBox("geef getal:")

If getal = "" Then Exit Sub

If getal < 0 Or getal > 15 Then
    MsgBox "Ongeldig getal!"
Else
    MsgBox "OK"
End If

End Sub


Bart
WinXP - Excel 2000/XP/2003

Offline Justaguy

  • Lid
  • *
  • Berichten: 86
  • Wie zoekt, die vindt ... het in Oplossing.be
Re:Cancel in inputbox
« Reactie #4 Gepost op: 11 oktober 2005, 21:57:31 »
Hey Barthold,

het werkt maar toch nog gewoon uit nieuwsgierigheid.

Blijkbaar is getal als string gedefinieerd (wegens "").
Hoe kan ik vermijden dat indien een totale dommerik (zoals ik  ???) ipv een getal bv. een "a" of iets dergelijks input en dit ook opvangt om geen error te geven.
SYSTEEM: AMD Athlon 1Ghz - 256Mb RAM - Win XP - Office2003 – kabel)

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Cancel in inputbox
« Reactie #5 Gepost op: 11 oktober 2005, 22:19:14 »
Probeer nu maar eens een tekst of zo in te geven en zie wat er gebeurt ;-)

Private Sub CommandButton1_Click()
getal = Application.InputBox(Prompt:="Geef getal:", Type:=1)
If getal = "" Then Exit Sub
If getal < 0 Or getal > 15 Then
    MsgBox "Getal buiten range!"
Else
    MsgBox "OK"
End If
End Sub


Er zijn namelijk 2 inputbox-methodes. Bij deze kan je definiëren welke input toegelaten is. Type:=1 laat enkel een getal toe...

Bart
WinXP - Excel 2000/XP/2003

Offline Justaguy

  • Lid
  • *
  • Berichten: 86
  • Wie zoekt, die vindt ... het in Oplossing.be
Re:Cancel in inputbox
« Reactie #6 Gepost op: 14 oktober 2005, 20:53:18 »
Hoi Barthold,
bij cancelen neemt de macro de waarde nul aan zodat ipv de macro te verlaten de macro verder loopt.
Blijkbaar zijn er ook nog altijd complicaties tussen het ingeven van een juist getal en de lijn "If getal = "" Then ..."


Kan ik niet gewoon de cancelbutton definiëren via select case bij bv. een msgbox?
SYSTEEM: AMD Athlon 1Ghz - 256Mb RAM - Win XP - Office2003 – kabel)

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Cancel in inputbox
« Reactie #7 Gepost op: 15 oktober 2005, 00:07:19 »
Sorry, klein foutje bij overgang naar Application.Inputbox. Controle op Cancel:
If getal = False Then Exit Sub

Nu zal het wel volledig werken.

Bart
WinXP - Excel 2000/XP/2003

 


www.combell.com