Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
332to336
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
332to336
332to336
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktion klappt nicht warum?

Funktion klappt nicht warum?
03.11.2003 09:42:49
Micha
HAllo!
Ich will eine Funktion die die Eingabe in einer Textbox abfängt ob ein Semikolon eingeben wird und dann den Text ohne Semikolon zurücksetzt. Hab schon was funktioniert aber nicht warum?

Function OhneSemi(strEingabe As String) As String
Dim i As Byte
Dim char As String
'*** StrEingabe ist nicht leer, wenn diese Funktion aufgerufen wird!
For i = 1 To Len(strEingabe)
char = Mid$(strEingabe, i, 1)
If char = ";" Then
MsgBox "Die Eingabe eines Semikolons ist aus syntaktischen Gründen nicht zulässig!"
OhneSemi = (strEingabe - ";")
Exit Function
End If
Next
End Function

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

Betreff
Datum
Anwender
Anzeige
Unterbinde doch direkt das Semikolon...
03.11.2003 09:53:40
Boris
Hi Micha,

...indem du das Textbox-Change-Ereignis nutzt:


Private Sub TextBox1_Change()
If Right(TextBox1, 1) = ";" Then TextBox1 = Left(TextBox1, Len(TextBox1) - 1)
End Sub


Könnte man auch über den Asc-Code und das Keydown-Ereignis machen - aber wie sooft gibt´s viele Excelwege, die zum Ziel führen.

Grüße Boris
AW: Unterbinde doch direkt das Semikolon...
03.11.2003 10:17:16
Reinhard
Hallo,
da ja auch mehrere Semikola drin sein könnten.
Gruß
Reinhard


Function OhneSemi(strEingabe As String) As String
Dim Semi As Boolean
'*** StrEingabe ist nicht leer, wenn diese Funktion aufgerufen wird!
Semi = False
While InStr(strEingabe, ";") <> 0
Semi = True
x = InStr(strEingabe, ";")
strEingabe = Left(strEingabe, x - 1) & Right(strEingabe, len(strEingabe) - x)
Wend
OhneSemi = strEingabe
If Semi = True Then
MsgBox "Die Eingabe eines Semikolons ist nicht zulässig! Semikolons wurden entfernt"
End If
End Function

Anzeige
Ich verstehe nicht...
03.11.2003 10:24:42
Boris
Hi Reinhard,

"...da ja auch mehrere Semikola drin sein könnten."

Das Change-Ereignis unterbindet (bei jedem Tastendruck) die Eingabe eines Semikolons - insofern kann man überhaupt keins eingeben...

Grüße Boris
Du hast jain Recht :-)
03.11.2003 11:12:28
Reinhard
Hallo Boris,
an sich wolte ich ja direkt zu Micha antworten, das ging wohl schief.
Text-Boxen kenne ich nicht so, deshalb war mir das Change Ereignis egal, ich habe mich rein auf seine Funktion bezogen und nahm halt an, dass beim Aufruf der Funktion im Parameter strEingabe mehrere Semikolons sein könnten.
Gruß
Reinhard
Das Übel an der Wurzel zu packen...
03.11.2003 13:56:27
Boris
Hi Reinhard,

...und die Eingabe der fraglichen Zeichen gar nicht erst zuzulassen erscheint mir aber doch der sinnvollere Weg, als im Nachhinein Falscheingaben durch irgendwelche Funktionen wieder "grade zu biegen".

Aber sei´s drum - soll sich Micha was aussuchen.

Grüße Boris
Anzeige
Stimmt. o.w.T.
03.11.2003 18:10:34
Reinhard
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige