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

Festlegen der Nachkommastellen in VB

Festlegen der Nachkommastellen in VB
06.09.2005 09:53:21
Thomas
Hallo Leute
ICh möchte gerne mit VB festlegen wieviel Nachkommastellen der Anweder eingeben darf. Ich weiß das geht auch über die Zahlenformatierung, aber bei diesem Sheet muss die Zelle im Format TEXT formatiert sein
Der User darf maximal 9999,99 eingeben dürfen (Maximal 2 Nachkommastellen)
Wenn ich schon beim Fragen bin wie kann ich in VB das Datumsformatierung der jeweiligen Zelle vorgeben, wiederum darf das Sheet aber nur in Text formatiert sein.
Hoffe ihr könnt mir helfen
Thomas

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Festlegen der Nachkommastellen in VB
06.09.2005 10:13:45
IngGi
Hallo Thomas,
schneide weitere Nachkommastellen einfach beim Auslesen ab:
strVariable = Left(Range("A1"), InStr(1, Range("A1"), ",", vbTextCompare) + 2)
Die gewünschte Datumsformatierung musst du beim "Füttern" der Zellen bereits berücksichtigen:
Range("A1") = Format(datVariable, "dd.mm.jjjj")
Gruß Ingolf
AW: Festlegen der Nachkommastellen in VB
06.09.2005 10:40:33
Thomas
Danke Ingolf
Klappt schon fast mit deiner Lösung, aber das PRoblem ist das der Wert nicht übereinstimmt wenn man größere 2 stellige Werte eingibt behält er nur die ersten beiden stellen
Bsp.: also bei 999 schneidet vb die letzte 9 weg
erst wenn man 999,00 eingibt behält er den Wert!!!!
Vielleicht weißt du ja wie es noch besser ginge, aber trotzdem Vielen, vielen dank
Thomas
Anzeige
AW: Festlegen der Nachkommastellen in VB
06.09.2005 11:11:59
IngGi
Hallo Thomas,
tut mir leid, war mein Fehler:

strVariable = Range("A1")
If InStr(1, strVariable, ",", vbTextCompare) > 0 Then
strVariable = Left(strVariable, InStr(1, strVariable, ",", vbTextCompare) + 2)
End If
Gruß Ingolf
AW: Festlegen der Nachkommastellen in VB
06.09.2005 12:27:09
Thomas
Danke
Ich kenn mich nicht allzu gut in VB aus, deshalb hat sich schon wieder ein Problem eingeschlichen!!! *ggg*
Ich will den WErt der Stringvariable wieder ins Feld schreiben, das geht zwar, aber dann braucht der Rechner voll lange bis man wieder was schreiben kann.
Was hab ich falsch gemacht
Range("C27") = strVariable
PS.: Theoretisch kann ich ja mit deinem Code eine Feldgröße vorgeben, wenn ich will das der Benutzer nur 40 Zeichen eingeben kann, kann ich dann das was über die 40 Zeichen hinausgeht weglöschen, ich weiß aber nicht wie man den Code auf dieses Problem hin formatiert.
Tja das hatte ich davon dass wir in der Schule nur C++ gemacht haben
Thomas
Anzeige
AW: Festlegen der Nachkommastellen in VB
06.09.2005 13:24:26
IngGi
Hallo Thomas,
wenn der Rechner lange arbeitet, nachdem du etwas in eine Zelle reingeschrieben hast, liegt das wahrscheinlich daran, dass du sehr viele Formeln in deiner Arbeitsmappe hast, die anschließend alle neu berechnet werden. Das kannst du nur abstellen, indem du über Extras-Optionen-Berechnung die Berechnung von automatisch auf manuell stellst. Das gilt dann aber generell, also für alle Arbeitsmappen und bedeutet, dass bei Eingaben Formelwerte nicht mehr automatisch neu berechnet werden, sondern nur noch, wenn du F9 drückst.
Mit Range("C27") = strVariable gibst du außerdem keinen Wert in die Zelle ein, sondern eine Zahl als Text. Nimm statt dessen Range("C27") = Val(strVariable).
Eine Eingabe lässt sich folgendermaßen auf 40 Zeichen beschränken:
strVariable = Left(Range("A1"), 40)
Gruß Ingolf
Anzeige

179 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige