Gleiche Zahlen nicht als gleich erkannt

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Gleiche Zahlen nicht als gleich erkannt
von: Flori
Geschrieben am: 04.07.2015 15:06:04

Hallo zusammen,
ich schreibe gerade ein Programm zur Notenverwaltung, und dort soll je nach erreichter Punktezahl die Note berechnet werden.
Die erreichten Punkte werden in der Variable punkte gespeichert, der Punktebereich für jede Note liegt zwischen note_von und note_bis.
Dies funktioniert bei allen Noten einwandfrei, nur bei Note 5 klappts einfach nicht!
Wenn ich zur Kontrolle folgende Ausgabe anschaue:
MsgBox punkte
MsgBox note5_von
MsgBox punkte = note5_von
dann zeigt es an: 7 - 7 - Falsch
Wie ist denn das möglich? Die beiden Zahlen stimmen genau überein! Und bei allen anderen Noten funktionierts ja auch?
Wäre sehr dankbar, wenn mir da jemand weiterhelfen könnte! :)

Bild

Betrifft: AW: Gleiche Zahlen nicht als gleich erkannt
von: Hajo_Zi
Geschrieben am: 04.07.2015 15:11:15
bei mir wird Wahr angezeigt.

Option Explicit
Sub Note()
    Dim Punkte As Integer
    Dim Note5_Von As Integer
    Punkte = 7
    Note5_Von = 7
    MsgBox Punkte
    MsgBox Note5_Von
    MsgBox Punkte = Note5_Von
End Sub


Bild

Betrifft: zeig den gesammten Code! o.T.
von: Sepp
Geschrieben am: 04.07.2015 15:22:10

Gruß Sepp


Bild

Betrifft: zeig den gesammten Code! o.T.
von: Sepp
Geschrieben am: 04.07.2015 15:22:11

Gruß Sepp


Bild

Betrifft: AW: Gleiche Zahlen nicht als gleich erkannt
von: Flori
Geschrieben am: 04.07.2015 16:49:42
Hallo,
ich muss wohl erst mal den ganzen Coder der Funktion posten.. :)

Function BerechneNote(zelle As Range) As Integer
  
  Dim punkte As Double
  Dim note As Integer
  
  punkte = zelle.Value
  
'Punkte zu jeder Notenstufe bzw. Punktestufe zuordnen
  Dim note1_von As Double
  Dim note1_bis As Double
  
  Dim note2_von As Double
  Dim note2_bis As Double
  
  Dim note3_von As Double
  Dim note3_bis As Double
  
  Dim note4_von As Double
  Dim note4_bis As Double
  
  Dim note5_von As Double
  Dim note5_bis As Double
  
  Dim note6_von As Double
  Dim note6_bis As Double
  
With Worksheets("Notenschlüssel")
 
note1_bis = .Range("C6").Value
note1_von = .Range("D6").Value
note2_bis = .Range("C7").Value
note2_von = .Range("D7").Value
note3_bis = .Range("C8").Value
note3_von = .Range("D8").Value
note4_bis = .Range("C9").Value
note4_von = .Range("D9").Value
note5_bis = .Range("C10").Value
note5_von = .Range("D10").Value
note6_bis = .Range("C11").Value
note6_von = .Range("D11").Value
End With
  
With Worksheets("Notenschlüssel")
MsgBox punkte
MsgBox note5_von
MsgBox punkte = note5_von
'Bewertung mit Notenskala
If Tabelle2.OptionButton1 = True Then
If punkte >= note6_von And punkte <= note6_bis Then
   note = 6
End If
If punkte >= note5_von And punkte <= note5_bis Then
   note = 5
End If
If punkte >= note4_von And punkte <= note4_bis Then
   note = 4
End If
If punkte >= note3_von And punkte <= note3_bis Then
   note = 3
End If
If punkte >= note2_von And punkte <= note2_bis Then
   note = 2
End If
If punkte >= note1_von And punkte <= note1_bis Then
   note = 1
End If
Select Case punkte
    Case note6_von To note6_bis
        note = 6
    Case note5_von To note5_bis
        note = 5
    Case note4_von To note4_bis
        note = 4
    Case note3_von To note3_bis
        note = 3
    Case note2_von To note2_bis
        note = 2
    Case note1_von To note1_bis
        note = 1
End Select
    
End If
End With
    BerechneNote = note
End Function


Bild

Betrifft: AW: Gleiche Zahlen nicht als gleich erkannt
von: Sepp
Geschrieben am: 04.07.2015 16:58:08
Hallo Flori,
sorry, die Funktion ist doch Nonsens! Innerhalb einer Tabellen-Funktion fix auf ein anderes Blatt zu verweisen ist ja gruselig, wenn schon, dann werden die Bereiche als Argument übergeben.
Außerdem ist deine Aufgabe mit ganz einfachen Formeln zu lösen, wozu eine eigene UDF?
Zu deinem ursprünglichen Problem: Im Blatt "Notenschlüssel", Zelle D10 liegt wohl dein Problem.

Gruß Sepp


Bild

Betrifft: Z. B. so.
von: Sepp
Geschrieben am: 04.07.2015 17:08:46
Tabelle1

 ABCDEFGHIJK
1NamePunkteNote     Notenschlüßel  
2Name 1241     Punkte abNote 
3Name 2916     01 
4Name 3252     252 
5Name 4633     453 
6Name 5442     684 
7Name 6905     805 
8Name 7805     916 
9Name 8734        
10Name 9332        
11Name 101006        
12           
13           
14           

Formeln der Tabelle
ZelleFormel
C2=INDEX($J$3:$J$8;VERGLEICH(B2;$I$3:$I$8;1))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Sepp


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Gleiche Zahlen nicht als gleich erkannt"