Hallo Holger
Danke danke…
Hilfe währe nicht schlecht, denn ich stehe jetzt vollständig auf dem Schlauch…
Das mit der Fallunterscheidung klingt gut. Ich verstehe aber leider nicht wie es gehen soll…
Hier noch x die unterschiedlichen Angaben die von unterschiedlichen Kunden gemacht werden:
Ein Kunde gibt nur den Nenndurchmesser mit einer +/- Toleranz an...
z.B. 6,000mm +0,001mm und -0,005mm
ein Kunde gibt nur den Max und den Min Durchmesser an...
z.B. 6,001mm / 6,005mm
einer gibt den Nenndurchmesser mit einer +/- Toleranz an...
z.B. 6,000mm +1µ / -5µ
Nach betätigen des Übernahme Buttons soll dann nur der Minwert 6,001 und der Maxwert 6,005mm in die Tabelle eingetragen werden.
Gruß
Werner
Holger schrieb am 20.01.2009 09:33:29:
Hallo Werner,
ich würde es mit einer logischen Fallunterscheidung versuchen, z.B.
3 Eingabefelder: A für Nennwert oder Minimal-/Maximalwert, B für Maximal-/Minimalwert oder ersten Toleranzwert, C für zweiten Toleranzwert
Wenn Abs(A-B) kleiner 0.01 und C leer sind, dann wurden Minimal- und Maximalwert eingegeben.
Wenn A nicht leer ist und Abs(B-C) kleiner 1 ist, dann wurden Nennwert und Toleranzen in mm angeben.
Wenn A nicht leer ist und Abs(B-C) größer 1 ist, dann wurden Nennwert und Toleranzen in mm angeben.
Sonst Eingabefehler
Falls die Logik zutrifft und du selbst nicht in der Lage bist, dein Programm so anzupassen, kann ich dir noch Hinweise geben.
Gruß
Holger
Werner schrieb am 19.01.2009 16:21:09:
Hallo und Danke an Holger....
Hast mir schon sehr gut geholfen.....
Eventuell kannst du mir noch einen Tipp geben....
es soll ein Eingabetool für Stiftdurchmesser werden.... Leider bekommen wir von unterschiedlichen Lieferanten unterschiedliche angaben...
einer gibt den Nenndurchmesser mit einer +/- Toleranz an... z.B. 6,000mm +0,001mm / -0,005mm
einer gibt den Max und den Min Durchmesser an... z.B. 6,001mm / 6,005mm
einer gibt den Nenndurchmesser mit einer +/- Toleranz an... z.B. 6,000mm +1µ / -5µ
Diese Angaben werden von Ungelernten Mittarbeitern in eine Excel Arbeitsmappe eingegeben und es werden leider sehr oft Fehler bei der Umstellung des Kommas gemacht.
Die Excel Arbeitsmappe arbeitet mit den Max und den Min Durchmesser 6,001mm / 6,005mm
Mit der Userform versuche ich die Fehleingaben zu reduzieren......
ich hoffe du kannst noch x helfen....
Option Explicit
Private NeuWert, Wert
Private Sub Userform1_initialize()
Wert = ""
End Sub
Private Sub anzeige()
Wert = Wert + NeuWert
If InStr((Wert), ".") Then
Label1.Caption = Format(Val(Wert), "###0.000")
Else
Label1.Caption = Format(Val(Wert))
End If
End Sub
Private Sub CommandButton1_Click() '1
NeuWert = "1"
anzeige
End Sub
Private Sub CommandButton10_Click() '0
NeuWert = "0"
anzeige
End Sub
Private Sub CommandButton11_Click() '.
NeuWert = "."
anzeige
End Sub
Private Sub CommandButton12_Click() ' del
Wert = ""
Label1.Caption = 0
End Sub
Private Sub CommandButton2_Click() '2
NeuWert = "2"
anzeige
End Sub
Private Sub CommandButton3_Click() '3
NeuWert = "3"
anzeige
End Sub
Private Sub CommandButton4_Click() '4
NeuWert = "4"
anzeige
End Sub
Private Sub CommandButton5_Click() '5
NeuWert = "5"
anzeige
End Sub
Private Sub CommandButton6_Click() '6
NeuWert = "6"
anzeige
End Sub
Private Sub CommandButton7_Click() '7
NeuWert = "7"
anzeige
End Sub
Private Sub CommandButton8_Click() '8
NeuWert = "8"
anzeige
End Sub
Private Sub CommandButton9_Click() '9
NeuWert = "9"
anzeige
End Sub
Private Sub Label1_Click()
Label1.Caption = Format(Wert, "###0.000")
End Sub
Danke
Gruß
Werner
Holger schrieb am 18.01.2009 16:08:24:
Hallo Werner,
es muss natürlich heißen:
sub anzeige
wert=wert+neuwert
if instr(wert),".") then
Label1.caption=Format(val(Wert), "###0.000")
else
Label1.caption=Wert
end if
end sub
Holger schrieb am 18.01.2009 15:55:19:
Hallo Werner,
Label1.caption=Format(Wert, "###0.000")
Wert ist nummerisch, das Ergebnis ist ein String. Beachte, dass du intern den Wert z.B. als String aufbauen kannst, aber das Komma intern als "." (Punkt) darstellen musst.
Ich nehme mal an, dass du eine Private-definierte Variable, z.B. NeuWert hast, in die du mit den Click-Ereignissen der Buttons den vorgesehenen Wert hinein schreibst.
Quick and dirty
Private NeuWert, Wert
sub Button1_Click()
NeuWert="1"
Anzeige
end sub
... Buttons 2-10
sub Button11_Click()
NeuWert="."
Anzeige
end sub
sub anzeige
wert=wert+neuwert
if instr(wert),".") then
Label1.caption=Format(Wert, "###0.000")
else
Label1.caption=Wert
end if
end sub
In der sub Userform1_initialize o.Ä. musst du Wert natürlich für eine neue Eingabe löschen (Wert="")
Gruß
Holger
Werner schrieb am 18.01.2009 10:47:44:
Hallo
noch ne Frage!
Komponenten!
Userform1 mit...
Button 1 (gibt Wert 1)
Button 2 (gibt Wert 2)
Button 3 (gibt Wert 3)
Button 4 (gibt Wert 4)
Button 5 (gibt Wert 5)
Button 6 (gibt Wert 6)
Button 7 (gibt Wert 7)
Button 8 (gibt Wert 8)
Button 9 (gibt Wert 9)
Button 10 (gibt Wert 0)
Button 11(gibt ,)
Button 12(speichert den Wert von Label1 in Tabelle 1)
Label1 ( Hier soll durch betätigen von Button 1-11 eine wert eingegeben werden. Der wert soll so formatiert sein das er immer 3 stellen hinter dem Komma hat. Sobalt das komma eingegben wird muss also der wert 3 stellen hinter dem Komma haben ....
Ausgabe immer in mm
Wenn 1 und 2 und , eingegeben wird soll --- 12,000 erscheinen
Wenn 1 und 2 und , und 3 eingegeben wird soll --- 12,300 erscheinen
Wenn1 und 2 eingegeben wir soll 0,012 erscheinen
Bitte helfen... es ist sehr wichtig und sehr dringend
Gruß
Werner
|