Haben Sie nicht auch schon einmal das Problem gehabt, dass die Val-Funktion von VB den Fehler "Type Mismatch" oder zu deutsch "Typen unverträglich" meldet? Oder haben Sie sich schon einmal darüber gewundert, dass die Val-Funktion bei der Umwandlung eines Strings, der sowohl Tausender-Trennzeichen als auch ein Dezimal-Trennzeichen enthält, ein falsches Ergebnis zurückliefert? Hier zwei einfache Beispiele, bei denen die VB-eigene Val-Funktion nicht korrekt funktioniert: MsgBox Val("1.234,56") ' Fehler: VBA.Val liefert hier den Wert 1,234 statt korrekterweise 1234,56 MsgBox Val("6,1%") ' Fehler: VBA.Val liefert den Wert 6 statt 6,1 Nachfolgend nun unsere neue Val-Funktion, die das Mango der VBA.Val-Funktion ausbügelt: Public Function Val(ByVal sValue As String) As Double Dim sChar As String ' Dezimaltrennzeichen durch ! ersetzen sValue = Replace(sValue, GetDecimalChar(), "!") ' Tausendertrennzeichen ausfiltern sChar = GetThousandGroupDigit() If Len(sChar) > 0 Then sValue = Replace(sValue, sChar, "") End If ' evtl. nachstehende "Nicht-Ziffern"-Zeichen entfernen While InStr("0123456789!", Right$(sValue, 1)) = 0 And Len(sValue) > 0 sValue = Left$(sValue, Len(sValue) - 1) Wend ' ! durch . ersetzen, damit die VBA.Val-Funktion ' den korrekten Wert zurückliefert Val = VBA.Val(Replace(sValue, "!", ".")) End Function Die neue Val-Funktion benötigt die beiden Funktionen zum Ermitteln des Dezimal-/Tausendertrennzeichens aus dem Tipp: Dieser Tipp wurde bereits 17.158 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB Tipp des Monats ![]() Dieter Otter PopUp-Menü wird nicht angezeigt :-( In diesem Tipp verraten wir Ihnen, wie Sie Probleme mit PopUp-Menüs umgehen können, wenn diese unter bestimmten Umständen einfach nicht angezeigt werden. sevAniGif (VB/VBA) ![]() Anzeigen von animierten GIF-Dateien Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |