Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
If-Beziehung: Wenn Textfeld Zahl enthält
04.06.2006 20:36:41
Matthias
Hallo Forum,
folgendes Problem.
Die unten stehende If-Bedingung, hab ich in nem Textfeld stehen. Sie teilt sämtliche Werte, die >= 10 sind durch 100. Also 95% wird zu 0,95. Wenn ich jetzt aber Buchstaben in das Textfeld eingebe, steigt logischerweise der Compiler aus. Ich muss also irgendwie noch einbauen, das er nur dann den Rechenschritt vollzieht, wenn der Eingabewert auch wirklich eine Zahl ist und bei Buchstabeneingabe nichts geschehen soll.

Private Sub txtpUmgeb_Change()
Dim Wert As Double
If txtpUmgeb.Value <> "" Then
Wert = txtpUmgeb.Value
If Wert >= 10 And Wert < 100 Then
Wert = Wert / 100
End If
txtpUmgeb.Value = Wert
End If
End Sub

Das..

If txtpUmgeb.Value <> ""

..verwende ich, weil er sonst aussteigt, wenn man die Zahl wieder aus dem Feld löscht.
Vielen Dank schon mal.
Gruß.
Matthias

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

Betreff
Datum
Anwender
Anzeige
AW: If-Beziehung: Wenn Textfeld Zahl enthält
04.06.2006 20:49:56
Josef
Hallo Matthias!
If Len(txtpUmgeb.Value) > 0 Then
  If IsNumeric(txtpUmgeb.Value) Then
    Wert = txtpUmgeb.Value
    If Wert >= 10 And Wert < 100 Then
      Wert = Wert / 100
    End If
    txtpUmgeb.Value = Wert
  End If
End If

'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: If-Beziehung: Wenn Textfeld Zahl enthält
04.06.2006 23:12:39
Matthias
Hallo Sepp,
funktioniert einwandfrei, allerdings muss ich die Formatierung noch ändern, da ich sonst keine Zahlen mit einer Null an zweiter Stelle eingeben kann wie z.B. 905 also 0,905. Weil das Programm ja sofort rechnet sobald ich 90 eingebe und als Ergebnis wird dann 0,9 ausgegeben und eben nicht 0,90, was ich aber bräuchte.
Ich muss also die Formatierung des Ausgabewerts auf "0.00" ändern, ich weiß aber nicht genau wie.
Muss irgendwie hiermit gehen:

txtetaSgZ.Value = etaS & Format(etaS, 0#)

so funktionierts aber nicht.
Gruß
Matthias
Anzeige
Falsches Ereignis!
04.06.2006 23:22:54
Josef
Hallo Matthias!
Ich würde andere Ereignisse nutzen.
Zuerst nur Zahlen bei der Eingabe zulassen und beim Verlassen der Textbox
die Umrechnung durchführen.
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
  Case 44, 48 To 57 'nur Komma und Zahlen 0-9
  Case Else
    KeyAscii = 0
End Select
End Sub


Private Sub TextBox1_LostFocus() 'Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)'bei UF
With TextBox1
  If .Value >= 10 And .Value < 100 Then
    .Value = .Value / 100
  End If
End With
End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Falsches Ereignis!
05.06.2006 00:07:42
Matthias
Hi,
also ermal dankeschön.
Allerdings ist mir das etwas zu hoch. Da blick ich nicht mehr durch.
Wie soll ich den ein und dem selben Textfeld zwei Subroutinen zuordnen?
Also das hier funktioniert:

Select Case KeyAscii
Case 44, 48 To 57 'nur Komma und Zahlen 0-9
Case Else
KeyAscii = 0
End Select

ich kann nur noch Zahlen, Komma und Null schreiben.
Aber die Rechenoperation macht er nicht. Ich hab jetzt einfach als zweite Sub alles so eingefügt.

Private Sub txtetaSgZ_LostFocus() 'Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)'bei UF
With txtetaSgZ
If .Value >= 10 And .Value < 100 Then
.Value = .Value / 100
End If
End With
End Sub

Läuft nicht.
Gruß
Matthias
Anzeige
AW: Falsches Ereignis!
05.06.2006 00:27:28
Josef
Hallo Matthias!
Ist die Textbox in einem UserForm?
Dann musst du das Exit-Ereignis verwenden.
Hab ich doch im Code auskommentiert.
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

AW: Falsches Ereignis!
05.06.2006 00:49:28
Matthias
Geprießen sei der Herr, es funktioniert tatsächlich. *g*
Vielen Dank nochmal.
Gruß
Matthias
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige