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

Ansicht des Beitrags:
Von:
Holger
Datum:
28.11.2009 18:09:32
Views:
869
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Aw:UserForm in word
Hallo Holger,
bei
Case Is btediff2 'Ratezahl ist größer als angegebene Zahl +10
fehlt immer noch das Größer-Zeichen.
Die weitere Logik habe ich nicht geprüft.
Gruß
Holger

Holger schrieb am 25.11.2009 18:11:15:

Hallo Holger,

erst mal herzlichen Dank für Deine Antwort.
Kopieren ist wohl nicht mein Ding!
Die Vergleichsoperatoren habe ich so nicht geschrieben. habe mal nachgebessert.
irgendwie habe ich wohl auch vor lauter Frust den Rest nicht mit einkopiert, Sorry!
Nachfolgender Code kommt noch nach dem ersten Select Case.

'Vorgbae wurde um höchstens 10 oder mehr als 10 verfehlt

Select Case btewert2
Case Is = btewert1 'Ratezahl getroffen
strerg2 = ""
Case Is >= btediff1l '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

Ich habe mir auch mal mit dem Debugger den Inhalt von btediff2 ausgeben lassen.
Der ist merkwürdigerweise = 0.
Tausch ich die letzten beiden Case is mit den ersten beiden (also in der oberen Abbildung)
verschiebst sich das Problem nach btediff1.
Es ist also immer die letzte Case - Anweisung die Betroffen ist.

Hast Du eine Idee?
Gruß
Holger


Holger schrieb am 25.11.2009 15:03:16:

Hallo Holger,
ich glaube, deine Fallunterscheidung ist nicht sorgfältig genug.
Du muss teilweise die Vergleichsoperatoren anpassen, z.B. statt "=" ">=".
In der angesprochenen Zeile muss du "Is" ebenfalls mit einem oder mehreren Operatoren aus {=,} versehen. "Is" allein vergleicht Objekte, was hier ja nicht gemacht werden soll.
Gruß
Holger


Holger schrieb am 23.11.2009 19:22:54:

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 = "Treffer!!!"
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
23.11.2009 19:22:54 Holger
NotSolved
25.11.2009 15:03:16 Holger
NotSolved
25.11.2009 18:11:15 Holger
NotSolved
Blau Aw:Aw:Aw:UserForm in word
28.11.2009 18:09:32 Holger
NotSolved