Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
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

Berechnung im Tabellenblatt falsch

Berechnung im Tabellenblatt falsch
chris58
Hallo !
Ich habe eine Userform gebaut und es funktioniert bestens. Bis auf die Tatsache, wenn ich mit der Userform die Daten in die Exceltabelle übergebe, diese mit diesen übergebenen Zahlen nicht rechnen kann. Wo kann dieser Fehler liegen, Ich habe den code von der Userform hiermitgepostet. Liegt es an dre Formartierung in der Userform ? in der Tabelle kann es nicht sein, denn wenn ich die Zahl wieder rausnehme, die ich mit der Userform eingetragen habe, rechnet Excel richtig.
Bitte um Hilfe
chris
'Spalte F, erste freie Zeile den Betrag im Währungsformat übertragen
Sheets("Saldenliste").Cells(erste_freie_Zeile, 6) = Format(TextBox5.Text, "#,##0.00")
Wie kann man die Userform dazu bewegen, mit der Tabulatortaste in die nächste zeile zu springen ?
Danke nochmals
chris
AW: Berechnung im Tabellenblatt falsch
28.06.2011 19:55:56
Hajo_Zi
Hallo Chris,
Mit Format schreibst Du Text in die Zelle, benutze eine Umwandlungsfunktion Z.B. Cdbl(Textbox1) benutzt.

Text ist Text und Zahl ist Zahl
28.06.2011 19:59:42
Erich
Hi Chris,
"mit diesen übergebenen Zahlen nicht rechnen kann. Wo kann dieser Fehler liegen,":
Ganz einfach:
Da werden keine Zahlen übergeben, sondern ein Text. Unsd damit rechnet es sich halt schlecht.
TextBox5.Text ist ein Text. Wenn in der Tabelle eine Zahl stehen soll, musst du aus dem Text eine Zahl machen.
Das ginge z. B. so:
Sheets("Saldenliste").Cells(erste_freie_Zeile, 6) = CDbl(TextBox5.Text)
In welchem Format die Zelle die Zahl dann anzeigt, ist allein Sache des Zahlenformats der Zelle.
"Wie kann man die Userform dazu bewegen, mit der Tabulatortaste in die nächste zeile zu springen ?"
verstehe ich nicht. Wer oder was soll wann in die nächste Zeile springen?
Vielleicht solltest du ergänzen:
erste_freie_Zeile = erste_freie_Zeile + 1
Aber das ist nur so eine Ahnung...
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Berechnung im Tabellenblatt falsch
28.06.2011 20:15:19
chris58
Danke, das geht nun.
Das mit dem Sprung mit der Tabulatortaste in das nächste Feld von der Userform habe ich auch gelöst.
Über TabIndex bei den Eigenschaften des Feldes ist das zu hinterlegen.
Danke
chris58
AW: Berechnung im Tabellenblatt falsch
28.06.2011 22:02:51
chris58
Hallo !
Nochmal bin ich heute da, das letzte mal, dann geh ich
Kannst du mir sagen, wie ich den Code ändern muß, um nicht immer bei Datum den Punkt dazwischen zu machen ?
Danke im voraus
chris58
'Spalte A, erste freie Zeile das Datum im Datumsformat übertragen
Sheets("Saldenliste").Cells(erste_freie_Zeile, 1) = CDate(TextBox1.Text)
Uhrzeit aus TextBox in Zelle
29.06.2011 00:11:35
Erich
Hi Chris,
wäre schön gewesen, du hättesgt etwwas ausführlicher beschrieben, was "bei Datum den Punkt dazwischen machen"
bedeuten soll.
Welcher Text steht in TextBox1? 28.06.2011 oder 20.06.11 ? Aber dann wären die Punkte ja schon dazwischen,
und CDate(TextBox1.Text) wäre auch ok.
Oder steht in TextBox1 so etwas wie 28062011 oder 280611 ohne die Punkte?
Dann ginge wohl CDate(Format(TextBox1.Text, "00-00-0000"))
oder CDate(Format(TextBox1.Text, "00-00-00"))
Wenn du nun in der Zelle eine Zahl über 40000 siehst, solltest du die Zelle noch als Datum formatieren
(40739 ist der 28.06.2011).
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
WECHSELN(Betreff;"Uhrzeit";"Datum") (owT)
29.06.2011 00:13:56
Erich
AW: WECHSELN(Betreff;"Uhrzeit";"Datum") (owT)
29.06.2011 08:05:24
chris58
Danke, das mit der ersten Formatierung klappt wunderbar.
CDate(Format(TextBox1.Text, "00-00-0000"))
chris58
AW: WECHSELN(Betreff;"Uhrzeit";"Datum") (owT)
29.06.2011 16:53:48
Hajo_Zi
Hallo Chris,
der Befehl Format kann raus, formatiere die Zelle entsprechend. Der Befehl Format ist in der Zeile sinnlos.

@Hajo: getestet?
29.06.2011 22:44:39
Erich
Hallo Hajo,
hast du getestet, was du geschrieben hast? Ich meine, dass Format(...,"00-00-0000") hier durchaus sehr nützlich ist,
keinesfalls aber sinnlos.
Der Befehl Format ist hier auch nicht "in der Zeile", sondern nur ein Zwischenschritt bei der Ermittlung des Datums.
In A3:A4 werden die mit CDate bzw. CLng ermittelten Zahlen geschrieben - einfache nummerische Werte,
wenn in der TextBox so etwas steht wie der Text 28062011:

Sub Hajo()
Dim strT As String     ' enthält den Textbox-String
strT = "28062011"
Cells(1, 1) = strT
Cells(2, 1).Resize(3).NumberFormat = "dd.mm.yyyy"
'  Cells(2, 1) = CDate(strT)           ' Fehler - so gehts es nicht!
Cells(3, 1) = CDate(Format(strT, "00-00-0000"))
Cells(4, 1) = CLng(CDate(Format(strT, "00-00-0000")))
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige