Thema Datum  Von Nutzer Rating
Antwort
Rot UserForm in word
23.11.2009 19:22:54 Holger
NotSolved
25.11.2009 15:03:16 Holger
NotSolved
25.11.2009 18:11:15 Holger
NotSolved
28.11.2009 18:09:32 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
23.11.2009 19:22:54
Views:
1927
Rating: Antwort:
  Ja
Thema:
UserForm in word
Hallo Zusammen,
ich lerne gerade vba und bin noch Anfänger.
Hab in Wor ein UserForm mit zwei Zahlen-Eingabefeldern. Die Erste soll von Person 1 vorgeben werden und zwischen 0 und 100 liegen. Die Zweite soll von Person 2 geraten werden. Ein 3 Textfeld soll eine Information darüber liefern wie nah die geratene Zahl an der Vorgegeben liegt.
Bedingung für die Ergebnisausgabe größer oder kleiner als die vorgegbene Zahl und unter 10 oder gleich 10 an der vorgegeben Zahl oder größer als 10 von der Ursprungszahl entfernt.
Ich darf aber nur mit If und Select case arbeiten.

Hier mein Code:

Dim btewert1 As Byte
Dim btewert2 As Byte
Dim strerg1 As String
Dim strerg2 As String
Dim btediff1 As Integer
Dim btediff2 As Integer

btewert1 = Me.txt_wert1
btewert2 = Me.txt_wert2


'Bei unzulässiger Eingabe
If btewert1 = 100 Then 'Wenn die Eingabe >=100
MsgBox "Sie mogeln!" & vbCrLf & _
"Die Zahl soll kleiner als 100 sein!" & vbCrLf & _
"Möchten Sie es erneut versuchen?", vbYesNo, "Wert = 100" 'Mitteilung über eine falsche Eingabe
If vbYes Then 'Wenn auf Yes geklickt wird
Me.txt_wert1.Value = "" 'Die Einagebfelder leeren
Me.txt_wert2.Value = ""
Me.txt_wert1.SetFocus 'Den Curser in das Feld Wert1 setzen
Else
Unload Me 'Wenn auf No geklickt wird Mitteilung schließen
End If

'Bei zulässiger Eingabe
Else

'Variablendeklaration wenn die Vorgabnezahl OK

btediff1 = btewert1 - 10 'Vorgabewert (txt_wert1) -10
btediff2 = btewert1 + 10 'Vorgabewert (txt_wert1) +10


'Größer oder kleiner als die Vorgabe
Select Case btewert2
Case Is > btewert1 'Ratezahl ist zu groß
strerg1 = "Sie werden übermütig"
Case Is = btediff1 'Ratezahl ist größer oder gleich als angegebene Zahl -10
strerg2 = "Das ist schon ziemlich gut"
Case Is btediff2 'Ratezahl ist größer als angegebene Zahl +10
strerg2 = "Strengen Sie sich etwas mehr an"
Case Else
End Select
End If

Me.txt_ergebnis.Value = strerg2 + vbNewLine + strerg1 'Textausgabe im Ergebnisfeld

Die letzte case Anweisung mit dem Sternchen (Case is > btediff2) funktioniert nicht.
Kann mir jemand sagen warum?
Danke schon mal für Eure Mühe.

Gruß
Holli

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot UserForm in word
23.11.2009 19:22:54 Holger
NotSolved
25.11.2009 15:03:16 Holger
NotSolved
25.11.2009 18:11:15 Holger
NotSolved
28.11.2009 18:09:32 Holger
NotSolved