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

Fehler beim löschen der Textbox in UF

Fehler beim löschen der Textbox in UF
13.02.2007 16:13:16
Uwe Hladik
Guten Tag an Alle!
Bin mich gerade an einer Userform mit Textboxen am erfreuen.....leider stockt das ganze etwas....
mittlerweile hab ich hier gelernt das man mit Textboxen auch rechnen kann und hab mir folgendes vorgestellt.
In der Userform übernimmt die erste Reihe von Textboxen die Zahlen von A470 bis A477(geht soweit)
Dann geb ich in der nächsten Reihe der Textboxen eigene Werte ein.
In der dritten Reihe wird mir dann die jeweiligen Differenzen angezeigt(auch das geht soweit.
Jetzt hab ich die Textboxen auch alle mit Value=0 gesetzt. und in den einzelnen Textboxen zum rechnen steht dann sowas z.b....

Private Sub TextBox51_Change()
TextBox99 = CDbl(TextBox51) + CDbl(TextBox59) + CDbl(TextBox67) + CDbl(TextBox75) + CDbl(TextBox83) + CDbl(TextBox91)
End Sub

jedoch wenn man sich mal in einer Textbox vertippt und löscht geht er direkt in den debugmodus...denke mal weil in diesem Moment keine Zahl kurzzeitig mehr drin steht.
Wie kann man sowas umgehen.
Hab schon stundenlang die Recherche bemüht und hab da noch nix brauchbares gefunden.
Hoffe das es einigemaßen erklärt ist.
Vorab schon mal Dank!
Gruß Uwe

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler beim löschen der Textbox in UF
13.02.2007 16:22:18
Oberschlumpf
Hi Uwe
Zuerst einmal:
Es heißt DAS Userform - weil - Userform kommt von UserformULAR
(nun hast du noch etwas gelernt)
Und nun ändere mal deinen Code so:

Private Sub TextBox51_Change()
If Textbox99.Text = "" Then Exit Sub 'wenn Textbox = leer, dann mache nix weiter
TextBox99 = CDbl(TextBox51) + CDbl(TextBox59) + CDbl(TextBox67) + CDbl(TextBox75) + CDbl(TextBox83) + CDbl(TextBox91)
End Sub

Und die erste Code-Zeile trägst du auch in allen anderen Change-Ereignissen anderer txtBoxen ein.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Fehler beim löschen der Textbox in UF
13.02.2007 21:21:47
Uwe Hladik
Hallo Thorsten,
vielen Dank schon mal für die Hilfe!!
werd das mal versuchen umzusetzen....ich glaub ich hab mich da stark verhaspelt...haha.
Naja das Forum bringt einen Anfänger immer wieder auf Ideen....nur die Umsetzung :-)
Werd das Ergebnis noch mitteilen.
Gruß Uwe
AW: Fehler beim löschen der Textbox in UF
13.02.2007 21:59:37
Uwe Hladik
Hi Thorsten,
hab jetzt mal so eingepflegt und es mal mit "" und "0" versucht.
In beiden Fällen kommt dann wieder ein debugfehler bei raus...
Bei "0" kommt der Fehler wenn ich die falsche Zahl eingegeben habe und mit zurück oder Entf. eine Neue eingeben will.
Und bei "" macht er es nicht wenn ich direkt am Anfang die 0 entferne sondern wenn ich schon eine Zahl eingegeben habe und die wieder entfernen möchte.
Ich fang an zu zweifeln....sind die Textboxen vielleicht das falsche Mittel.
Es kommt ja noch dazu das die Vielzahl der Textboxen in Zellen wiedergegeben werden sollen zur weiteren verwendung. Und die Formatierung klappt in manchen Textboxen auch nicht. Zeigt mit unter 4 stellig hinter dem Komma an. Und bei der Übergabe an die Zellen dauerts dann auch noch.
Bin da jetzt schon Tage mit beschäftigt und bekomm da kein Ergebnis.
Vielleicht muß man das ja ganz anders machen.
Für Ideen wär ich dankbar.
Gruß Uwe
Anzeige
AW: Fehler beim löschen der Textbox in UF
14.02.2007 11:35:14
Oberschlumpf
ups...Hi Uwe
ICH hab auch n Fehler gemacht (gerade festgestellt)
Ändere deinen Code so:
(mach das erst mal nur in Textbox51, damit du siehst, was passiert, und obs funzt)

Private Sub TextBox51_Change()
If Textbox51.Text = "" Or _
Textbox59.Text = "" Or _
Textbox67.Text = "" Or _
Textbox75.Text = "" Or _
Textbox83.Text = "" Or _
Textbox93.Text = "" Then
Exit Sub
'wenn eine der txtboxen 51,59,67,75,83 oder 93 = leer, dann mache nix weiter
End If
TextBox99 = CDbl(TextBox51) + CDbl(TextBox59) + CDbl(TextBox67) + CDbl(TextBox75) + CDbl(TextBox83) + CDbl(TextBox91)
End Sub

Es müssen ja ALLE Textboxen - die die Summe für (in diesem Fall) Textbox99 ergeben - geprüft werden, ob in ALLEN etwas steht.
Darauf hatte ich bei meinem ersten Versuch leider nicht geachtet.
Allerdings wird weiterhin ein Fehler auftreten, wenn auch nur in einer der txtboxen ein NICHT numerischer Wert steht - darauf musst du halt auch noch achten.
Konnte ich diesmal helfen? :-)
Ciao
Thorsten
Anzeige
AW: Fehler beim löschen der Textbox in UF
17.02.2007 14:33:51
Uwe Hladik
Hallo Thorsten,
hatte leider erst jetzt wieder Zeit an meinen Textboxen weiter zu machen.
Vorab erst mal Danke für die Hilfe. Werde es mal umsetzen, und Versuch auch mal den Tip von Hans umzusetzen.
Werde mich bei Dir melden wenn ich das entsprechend eingepflegt habe.
Gruß Uwe
AW: Fehler beim löschen der Textbox in UF
14.02.2007 07:03:17
Hans W. Herber
Hallo Uwe,
ich würde vom Change- auf das Exit-Ereignis umstellen. Hier wird der Code nicht bei jedem Zeichen angestossen.
Wie ich an Deinen TextBox-Numerierungen sehen kann, ist das eine grosse Sache. Du wirst noch viel Zeit damit verplempern, die Sache reibungslos hinzubekommen.
Dazu was Grundsätzliches: UserForms gehören zu den meist überschätzten Sachen in Excel. Viel einfacher und wesentlich weniger nervenbelastend und zeitraubend ist es, ein Tabellenblattformular zu erstellen. Excel ist nicht Access.
gruss hans
Anzeige
AW: Fehler beim löschen der Textbox in UF
17.02.2007 14:50:55
Uwe Hladik
Hallo Hans,
werd versuchen deinen Tip mal umzusetzen.
Aber das ist halt das tolle an diesem Forum....durch die Hilfe und Unterstützung die man hier erfährt , bekommt man selbst als Anfänger einen Höhenflug, und dann muß man sich fest beißen.......Macht einen riesen Spass. Danke. :-)
Gruß Uwe

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige