Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1000to1004
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
Inhaltsverzeichnis

#### Fehler in Zelle

#### Fehler in Zelle
11.08.2008 23:38:50
Eggi
Hallo Zusammen
Auf Eure hilfe wäre ich sehr angewiesen um dieses Problem zu beseitigen.
Aus einer UF in mehren Textboxen werden Zahlen in eine Tabelle geschrieben. Bis dahin alles i.O.
Die Zahlen werden auch in die Tabelle geschrieben. Leider sind diese Zahlen ja Text. Um damit weiterrechnen zu können, habe ich diese Zahlen in der Tabelle immer mit 1 multipliziert und es funktioniert auch. Leider liegt das Problem wenn in der Textbox keine Zahl geschrieben wird und in der Tabelle auch nichts geschrieben ist. Die verbundene Zelle sollte daher min. eine 0 bringen. Bringt aber stehts die Zeichen ####.
Gibt es eine Lösung mit allenfalls Istfehler ?
Bsp. Zelle B5 ist gespiesen durch Textbox. Zelle B6 wird mit +B5 übertragen. In Zelle B6 sollte mind. eine 0 stehen wenn in Zelle B5 nichts steht durch die Eingabe aus der UF Textbox. Gebe ich nichts ein aus den Tabelleblatt wird eine 0 auch geschrieben. Gleicher Effekt erziele ich auch durch die Leertaste.
Hoffe, dass mir jemand von Euch dabei helfen kann.
herzliche grüsse
Eggi (Egidio)

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
kannst Du ein Beispiel hochladen ?
11.08.2008 23:50:06
Matthias
Hallo
Evtl. ist auch nur die Zelle zur Anzeige zu schmal.
Was passiert denn , wenn Du den Zellverbund löst. Ich find verbundene Zellen zum k....
Beispiel wäre schon besser.
Gruß Matthias

AW: kannst Du ein Beispiel hochladen ?
12.08.2008 01:37:40
Eggi
Hallo Matthias
Habe die Datei stark verkürzt. In der UF bzw. in den Textboxen werden Zahlen eingegeben.
Diese Zahlen werden ins Tabellenblatt übertragen und anschliessend weiter verarbeitet. Es handelt sich um eine Lizenzierung. Sollte jemand keine Zahlen eingeben, ist auch auf dem Tabellenblatt jeweils nichts übertragen. Trotzdem sollte bei den verbundenen Zellen mind. eine 0 stehen zum Weiterrechnen, bzw. mit VBA Code überprüfen ob die Zahlen übereinstimmen. Es wird eine Quersummen geprüft.
Leider entsteht einen Wert ### oder #Wert? falls nichts von der Textbox geschrieben wird.
Das bringt mir dann einen Debugg-Fehler. Habe versucht, es mit wenn dann aber es klappt nicht, da die Zahlen von der Textbox ja keine Zahlen sind.
https://www.herber.de/bbs/user/54529.xls
Schau sie Dir mal an.
herzliche grüsse
Eggi (Egidio)

Anzeige
AW: kannst Du ein Beispiel hochladen ?
12.08.2008 06:26:00
Reinhard
Hi Egidio,

Private Sub TextBox6_Change()
Sheets("Code").Cells(29, 2) = CInt(TextBox6)
End Sub


Gruß
Reinhard

AW: kannst Du ein Beispiel hochladen ?
12.08.2008 06:30:00
Hajo_Zi
Hallo Reinhartd,
das führt zu einem Fehler bei Ler.
Hallo Eggi,
Du hattest doch schon den Code mit Prüfung der Textbox auf Leer.

AW: kannst Du ein Beispiel hochladen ?
12.08.2008 06:49:00
Reinhard
Moin Hajo,
hast Recht, hatte nur flüchtig gefprüft. Ich hatte in der Tabelle manuell eine Zelle gelöscht dann die UF gestartet, dann kommt kein Fehler, der kommt erst wenn man eine Zahl in die TB eingibt un diese dann löscht, das hatte ich nicht getestet.
Moin Eggi,

Private Sub TextBox6_Change()
Sheets("Code").Cells(29, 2) = Pruef(6)
End Sub



Private Sub TextBox7_Change()
Sheets("Code").Cells(29, 3) = Pruef(7)
End Sub


...
Function Pruef(ByVal Wert As String) As Integer
'ggfs noch Reaktion einbauen wenn Eingabe keine Zahl oder Zahl mit Dezimalstellen
If IsNumeric(Wert) Then Pruef = Wert
End Function


Gruß
Reinhhard

Anzeige
AW: kannst Du ein Beispiel hochladen ?
12.08.2008 07:41:14
Matthias
Hallo
Für die erste Textbox:
If TextBox6.Value "" Then Sheets("Code").Cells(29, 2) = CInt(TextBox6) Else: Sheets("Code").Cells(29, 2) = 0
und so machst Du es für die anderen Boxen auch
Code in UserForm

Private Sub userform_initialize()
TextBox6.Value = Sheets("Code").Cells(29, 2)
TextBox7.Value = Sheets("Code").Cells(29, 3)
TextBox8.Value = Sheets("Code").Cells(29, 4)
TextBox9.Value = Sheets("Code").Cells(29, 5)
TextBox10.Value = Sheets("Code").Cells(29, 6)
TextBox11.Value = Sheets("Code").Cells(29, 7)
TextBox12.Value = Sheets("Code").Cells(29, 8)
TextBox13.Value = Sheets("Code").Cells(29, 9)
End Sub



Private Sub TextBox6_Change()
If TextBox6.Value  "" Then Sheets("Code").Cells(29, 2) = CInt(TextBox6) Else: Sheets("Code"). _
Cells(29, 2) = 0
End Sub



Private Sub TextBox7_Change()
If TextBox7.Value  "" Then Sheets("Code").Cells(29, 3) = CInt(TextBox7) Else: Sheets("Code"). _
Cells(29, 3) = 0
End Sub



Private Sub TextBox8_Change()
If TextBox8.Value  "" Then Sheets("Code").Cells(29, 4) = CInt(TextBox8) Else: Sheets("Code"). _
Cells(29, 4) = 0
End Sub



Private Sub TextBox9_Change()
If TextBox9.Value  "" Then Sheets("Code").Cells(29, 5) = CInt(TextBox9) Else: Sheets("Code"). _
Cells(29, 5) = 0
End Sub



Private Sub TextBox10_Change()
If TextBox10.Value  "" Then Sheets("Code").Cells(29, 6) = CInt(TextBox10) Else: Sheets("Code") _
.Cells(29, 6) = 0
End Sub



Private Sub TextBox11_Change()
If TextBox11.Value  "" Then Sheets("Code").Cells(29, 7) = CInt(TextBox11) Else: Sheets("Code") _
.Cells(29, 7) = 0
End Sub



Private Sub TextBox12_Change()
If TextBox12.Value  "" Then Sheets("Code").Cells(29, 8) = CInt(TextBox12) Else: Sheets("Code") _
.Cells(29, 8) = 0
End Sub



Private Sub TextBox13_Change()
If TextBox13.Value  "" Then Sheets("Code").Cells(29, 9) = CInt(TextBox13) Else: Sheets("Code") _
.Cells(29, 9) = 0
End Sub


Hab ich Dich richtig verstanden ?
Gruß Matthias

Anzeige
kleine Korrektur zum letzten Beitrag
12.08.2008 07:48:56
Matthias
Hallo
kleiner Korrektur

Private Sub TextBox6_Change()
If TextBox6.Value  "" And IsNumeric(TextBox6.Value) Then Sheets("Code").Cells(29, 2) =  _
CInt(TextBox6) Else: Sheets("Code").Cells(29, 2) = 0
End Sub



Private Sub TextBox7_Change()
If TextBox7.Value  "" And IsNumeric(TextBox7.Value) Then Sheets("Code").Cells(29, 3) = CInt( _
TextBox7) Else: Sheets("Code").Cells(29, 3) = 0
End Sub



Private Sub TextBox8_Change()
If TextBox8.Value  "" And IsNumeric(TextBox8.Value) Then Sheets("Code").Cells(29, 4) = CInt( _
TextBox8) Else: Sheets("Code").Cells(29, 4) = 0
End Sub



Private Sub TextBox9_Change()
If TextBox9.Value  "" And IsNumeric(TextBox9.Value) Then Sheets("Code").Cells(29, 5) = CInt( _
TextBox9) Else: Sheets("Code").Cells(29, 5) = 0
End Sub



Private Sub TextBox10_Change()
If TextBox10.Value  "" And IsNumeric(TextBox10.Value) Then Sheets("Code").Cells(29, 6) = CInt( _
TextBox10) Else: Sheets("Code").Cells(29, 6) = 0
End Sub



Private Sub TextBox11_Change()
If TextBox11.Value  "" And IsNumeric(TextBox11.Value) Then Sheets("Code").Cells(29, 7) = CInt( _
TextBox11) Else: Sheets("Code").Cells(29, 7) = 0
End Sub



Private Sub TextBox12_Change()
If TextBox12.Value  "" And IsNumeric(TextBox12.Value) Then Sheets("Code").Cells(29, 8) = CInt( _
TextBox12) Else: Sheets("Code").Cells(29, 8) = 0
End Sub



Private Sub TextBox13_Change()
If TextBox13.Value  "" And IsNumeric(TextBox13.Value) Then Sheets("Code").Cells(29, 9) = CInt( _
TextBox13) Else: Sheets("Code").Cells(29, 9) = 0
End Sub


Gruß Matthias

Anzeige
AW: kleine Korrektur zum letzten Beitrag
12.08.2008 10:31:00
Eggi
Hallo Matthias, Hallo Reinhard
Mit dem Code von Matthias funktioniert es perfekt und auch der von Dir Reinhard.
Habe noch eine kleine Frage:
Im oberen Teil der UF ist auch noch eine Textbox für den Namen (Ist in der hochgelanden Datei leider nicht enthalten) Dort wird nur Text eingegeben. Habe Euren Code auch dort anwenden wollen aber ohne Erfolg.
Bringt mir wohl kein Debugg-Fehler aber der Text wird nicht in die Tabelle geschrieben.
Kann ich anstatt Isnumeric; istext nehmen?
Falls nichts in die Textbox geschrieben wird kann auch dort eine 0 stehen.
herzliche grüsse
Eggi (Egidio)

Anzeige
probier doch: Not IsNumeric
12.08.2008 11:19:00
Matthias
Hallo
schau Dir auch den Beitrag von Daniel an, ob das so für Dich in Frage kommt.
Gruß Matthias

AW: Lösung per Formel
12.08.2008 10:52:55
Daniel
Hi
anstatt dich in VBA zu verkünsteln, kannst du auch die Umwandlung der Texte in eine Zahl mit dieser Formel machen:
=("0"&B27)*1
dann wird auch bei Leeren Feldern in der Textbox eine 0 berechnet.
Gruß, Daniel

gefällt mir jedenfalls auch besser :o) oT
12.08.2008 11:21:00
Matthias

AW: gefällt mir jedenfalls auch besser :o) oT
12.08.2008 12:08:00
Eggi
Hallo Zusammen
Kannte diese Formel überhaupt nicht. Aber sie nützt und läuft ohne Fehler.
Nochmals vielen Dank an Euch alle.
herzliche Grüsse
Eggi (Egidio)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige