Das Archiv des Excel-Forums

Fehler bei Umwandlung

Bild

Betrifft: Fehler bei Umwandlung
von: Udo

Geschrieben am: 28.09.2003 16:06:29

Hallo Zusammen,

ich habe folgendes Problem:

Ich erhalte Zahlen mit Punkt-Werten wie 107.0 mit diesen Zahlen kann man keine Grafikdarstellen.

Kurz um hat mir mein Kollege ein Macro Erstellt, bis Werte unter 100 funktioniert die Sache gut über 100 bekomme ich falsche Werte wie 107.0 wird 16,40 und das ist falsch heraus kommen soll 107,00.

Dieses Macro verwende ich:

Public

Sub tabelle_reparieren()
Dim LastPlace, Z As Variant, X As Variant
Dim Hilf, Hilf2, HilfLänge, HilfKomma, Counter As Integer
Dim dZahl As Double
Dim lZahl1 As Long
Const AnfangsSpalte As Integer = 8
Const AnfangsZeile As Integer = 2
Const MaxWert As Integer = 80
Const markieren As Integer = 1  ' 0 für kein FETT-Schrift bei geänderten Feldern
Counter = 0 'fehlerzähler auf 0 initalisieren
LastPlace = ActiveCell.SpecialCells(xlLastCell).Address
ActiveSheet.Range(Cells(AnfangsZeile, AnfangsSpalte), LastPlace).Select
Z = Selection.Address                        'Get the address
For Each X In ActiveSheet.Range(Z)       'Do while
If Len(X) > 0 Then                   'Find cells with something
HilfKomma = InStr(X, ".")
If (IsNumeric(X) And (HilfKomma > 0)) Then
' ########## FEHLER 1) zahl mit "." gefunden
HilfLänge = Len(X)
Hilf = Mid(X, 1, HilfKomma - 1)
Hilf2 = Mid(X, HilfKomma + 1, HilfLänge - HilfKomma)
If Left(Hilf, 1) = "-" Then ' wenn Zahl vor Komma negativ, dann müssen die beiden Werte subtrahiert werden
dZahl = CDbl(Hilf) - (CDbl(Hilf2) / 10)
Else    ' ansonsten müssen sie addiert werden
dZahl = CDbl(Hilf) + (CDbl(Hilf2) / 10)
End If
'ist zahl negativ? wenn ja, ausdruck negieren
'If Left(Hilf, 1) = "-" Then
'    dZahl = -dZahl
'End If
X.NumberFormat = "##0.00"
X.Value = dZahl
Counter = Counter + 1
If markieren Then
X.Font.Bold = True  ' geändertes markieren
End If
End If
If (CDbl(X) > MaxWert) Then
' ########## FEHLER 2) ungewolltes datumsfeld gefunden
Hilf = CStr(Day(X))
Hilf2 = CStr(Month(X))
dZahl = CDbl(Hilf) + (CDbl(Hilf2) / 10)
X.NumberFormat = "##0.00"
X.Value = dZahl
Counter = Counter + 1
If markieren Then
X.Font.Bold = True  ' geändertes markieren
End If
End If
Else
' else -> Feld ist leer! also nix machen
End If
Next
MsgBox ("Anzahl der Fehler in dieser Tabelle: " + CStr(Counter))
End Sub


Weiß Jemand Rat oder Tat wo der Fehler im Detail steckt. Bin über jeden Rat Dankbar .


Udo
Bild


Betrifft: AW: Fehler bei Umwandlung
von: Beni
Geschrieben am: 28.09.2003 16:41:03

Hallo Udo,
erhöhe den MaxWert,
z.B. Const MaxWert As Integer = 10000
Gruss Beni


Bild


Betrifft: AW: Fehler bei Umwandlung
von: Udo
Geschrieben am: 28.09.2003 19:12:32

Hallo Beni,

Danke schnelle Hilfe Super Weiter SO !!!

Udo


 Bild

Excel-Beispiele zum Thema " Fehler bei Umwandlung"

Fehlermeldung #NV ausblenden download Fehlermeldung abfangen download
Fehler in Workbook_Open-Prozedur abfangen download Fehlermeldung #DIV/0! verhindern download
Fehler entfernen download Fehlermeldung abfangen und in sequentielle Datei schreiben download
Fortlaufende Suche unter Vermeidung eines Laufzeitfehlers download VBA-Fehlermeldungen auflisten download
Alle Zellen mit der #BEZUG!-Fehlermeldung auswählen download Zahlenstring mit Formel auslesen und Fehlermeldung verhindern download
Fehler abfangen, wenn eine Arbeitsmappe nicht geöffnet ist download Alle #DIV/0!-Fehlerwerte in Tabelle durch 0 ersetzen download
Makro mit Excape-Taste ohne Fehlermeldung beenden download Eingabe von Fehlerwerten verhindern download
Rechtschreibprüfung und Fehlerausgabe download Zellen mit Formelfehlern leeren download
Fehlermeldung, wenn nicht der erwartete Wert eingetragen wird download Verhinderung der Formatumwandlung durch Excel download
Umwandlung eines TextBox-Wertes in eine Zahl download Umwandlung einer Zeichenfolge in Spalte A in Großbuchstaben download
Umwandlung von Zeichenfolgen in Werte download Umwandlung von Komma in Punkt download