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