Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Vergleich mit 10 funktioniert nicht so

Vergleich mit 10 funktioniert nicht so
02.07.2020 12:45:37
Roman
Hallo Community,
ich habe ein ganz kurioses Problem und hoffe ihr könnt mir weiterhelfen.
Für unser Qualitätsmanagement im Haus wollen wir die Erfassung von den gemessenen Werten dynamisch erfassen. Hierzu habe ich eine entsprechende Excel gebaut, welche alle erforderlichen Daten beinhaltet, prüfen kann und speichert.
Es gibt also ein Tabellenblatt mit Artikeln:

Artikelnr	Artikelbez Zeichnungsnr	Zeichnungsindex	Merkmale Prüfplan
188099	Anker H24 HS2374	10239719	1	4	0001

In einem weiteren Tabellenblatt sind dann die informationen zu den Prüfplänen
Prüfplan	Merkmal Sollwert unteres Abmaß oberes Abmaß sonstige Toleranz Prüfmittel Mindestmaß Höchstmaß
0001	1	Ø	4,5		0,02		Prüfstifte	4,5	4,52
In einer Userform gibt man dann den Artikel ein, welcher geprüft werden soll und das Programm übernimmt automatisch alle wichtigen Daten in das Tabellenblatt Messung, wo untereinander irgendwann die ganzen Messungen aufgeführt sein sollen.
Set myRow = Worksheets("Prüfplan").Columns(1).Find(what:=(Prüfplan), After:=Worksheets("Prü _
fplan").Cells(Rows.Count, 1), lookat:=xlWhole)
If Not myRow Is Nothing Then
strAddress = myRow.Address
Do
lngCounter = lngCounter + 1
With Worksheets("Messung")
Worksheets("Prüfplan").Cells((myRow.Row), 2).Copy .Cells(.Cells(Rows.Count, 4). _
End(xlUp).Row + 1, 4)
.Cells(.Cells(Rows.Count, 4).End(xlUp).Row, 2) = Auftrag
.Cells(.Cells(Rows.Count, 4).End(xlUp).Row, 1) = Artikel
.Cells(.Cells(Rows.Count, 4).End(xlUp).Row, 3) = CStr(Prüfplan)
.Cells(.Cells(Rows.Count, 4).End(xlUp).Row, 14) = Messung
.Cells(.Cells(Rows.Count, 4).End(xlUp).Row, 12) = Date
.Cells(.Cells(Rows.Count, 4).End(xlUp).Row, 15) = Zeichnungsindex
Worksheets("Prüfplan").Cells((myRow.Row), 4).Copy .Cells(.Cells(Rows.Count, 4). _
End(xlUp).Row, 5)
Worksheets("Prüfplan").Cells((myRow.Row), 9).Copy .Cells(.Cells(Rows.Count, 4). _
End(xlUp).Row, 6)
Worksheets("Prüfplan").Cells((myRow.Row), 10).Copy .Cells(.Cells(Rows.Count, 4). _
End(xlUp).Row, 7)
Worksheets("Prüfplan").Cells((myRow.Row), 7).Copy .Cells(.Cells(Rows.Count, 4). _
End(xlUp).Row, 8)
Worksheets("Prüfplan").Cells((myRow.Row), 8).Copy .Cells(.Cells(Rows.Count, 4). _
End(xlUp).Row, 9)
End With
Set myRow = Worksheets("Prüfplan").Columns(1).FindNext(myRow)
Loop While Not myRow Is Nothing And myRow.Address  strAddress
End If

For erste_Zeile = letzte_Zeile - Merkmale + 1 To letzte_Zeile
UserForm4.Controls("Label" & 1000 + j).Caption = Worksheets("Messung").Cells(erste_Zeile, 5) _
UserForm4.Controls("Label" & 1100 + j).Caption = Worksheets("Messung").Cells(erste_Zeile, 6) _
UserForm4.Controls("Label" & 1200 + j).Caption = Worksheets("Messung").Cells(erste_Zeile, 7) _
UserForm4.Controls("Label" & 1300 + j).Caption = Worksheets("Messung").Cells(erste_Zeile, 8) _
UserForm4.Controls("Label" & 1400 + j).Caption = Worksheets("Messung").Cells(erste_Zeile, 9) _
j = j + 1
Next

In dem UserForm4 kann man dann die gemessenenen Werte eintragen und er entscheidet selber, ob der Wert i.O. oder halt nicht i.O. ist. Das klappt alles auch super, aber wenn die Messwerte in irgendeiner Weise die 10 beinhaltet, dann macht er etwas falsch und sagt halt nicht i.O., obwohl die Werte in Ordnung sind.
Angenommen also der Wert darf von 9,97 bis 10,2 gehen und der Wert ist 9,99, dann sagt er der Wert ist nicht i.O. Ähnlich auch bei 10,1. Wenn man den Bereich von 9,97 bis 9,99 macht und 9.98 eingibt, dann funktioniert es und auch dann wenn es sich um Werte über 10 handelt.
Ich habe schon diverse Dinge probiert, aber komme nicht auf den richtigen Zweig.
Hier noch das Sub für die Überprüfung der Werte:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(TextBox2) = True Then
If TextBox2 >= Label1102.Caption And TextBox2 
Vielleicht kann mir jemand helfen, da mich dieses Problem langsam nervt.
Danke
BG Roman
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleich mit 10 funktioniert nicht so
02.07.2020 12:51:18
Rudi
Hallo,
du vergleichst Texte!
Wandle in Zahlen um.
If CDbl(TextBox2) >= CDbl(Label1102.Caption) And CDbl(TextBox2) 

Gruß
Rudi
AW: Vergleich mit 10 funktioniert nicht so
02.07.2020 12:56:56
Roman
Lol. Okay. Danke - hat funktioniert.
Ich hatte den Labelwert schon in Double gemacht, aber nicht die Textbox.
Jetzt kann ich in Ruhe einschlafen :-P
Anzeige
VBA gut ?
02.07.2020 13:02:32
onur
AW: VBA gut ?
02.07.2020 13:07:00
Roman
Ja?!
Wie du siehst, wusste ich nicht alles. Und den restlichen Programmcode habe ich mir, bis einige wenige Änderungen aus dem Internet gezogen.
Getreu dem Motto: Man muss nicht jeden einzelnen Befehl kennen, aber man muss wissen, wie bzw. wo man es findet
AW: VBA gut ?
02.07.2020 13:12:07
onur
Stimmt schon, aber dass eine Textbox - wie der Name es schon irgendwie andeutet - einen Text enthält und eine Caption IMMER ein Text ist, gehört eigentlich zum "Grundschulwissen" bei VBA. :))
Anzeige
AW: VBA gut ?
02.07.2020 13:26:51
Roman
Gebe ich dir recht, aber da es, außer bei dieser Stelle, funktioniert hat. Habe ich diesem Fehler keine gesteigerte Aufmerksamkeit geschenkt
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige