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

Problem mit Val und Kommazahlen...

Problem mit Val und Kommazahlen...
15.12.2003 07:30:21
Alexej
Guten Morgen allerseits,

Ich habe hier ein Stueckchen Code, der eine Berechnung durchfuehrt. Dabei ist es jedoch unangenehm aufgefallen, dass Excel nur Kommazahlen bearbeitet, die mit einem Punkt getrennt wurden (z.B. 123.44). Wenn die Zahl mit Komma getrennt wurde (z.B. 123,44), dann betrachtet er die Zahl als ganzes. Wie muss ich diesen Code aendern, sodass er sowohl mit Punkt, als auch mit Komma, als Trennzeichen arbeitet?

Viele Gruesse aus bitterkalten Moskau,
Alexej

PS: Meiner Meinung nach, liegt es an der "Val" Bezeichnung...


Sub CalcFootnote()
Dim sWsh As Worksheet
Dim i As Integer
Dim lSumL As Long
Dim rCell As Range
sumoffset = 57
ThisWorkbook.Worksheets("Èòîã").Range("$F$176").Value = 0 ' Z
lSumL = 0
For i = 1 To Range("Znumberofcontracts").Value
lSumL = lSumL + ThisWorkbook.Worksheets("Äîã. " + CStr(i) + " ëèñò 1").Range("AR249").Value
If Not IsError(ThisWorkbook.Worksheets("Äîã. " + CStr(i) + " ëèñò 1").Range("AN80").Value) Then
ThisWorkbook.Worksheets("Èòîã").Range("$F$176").Value = _
ThisWorkbook.Worksheets("Èòîã").Range("$F$176").Value + _
ThisWorkbook.Worksheets("Äîã. " + CStr(i) + " ëèñò 1").Range("AR249").Value * _
ThisWorkbook.Worksheets("Äîã. " + CStr(i) + " ëèñò 1").Range("AN80").Value
End If
Next
If lSumL <> 0 Then
ThisWorkbook.Worksheets("Èòîã").Range("$F$176").Value = _
ThisWorkbook.Worksheets("Èòîã").Range("$F$176").Value / lSumL
Else
ThisWorkbook.Worksheets("Èòîã").Range("$F$176").Value = 0
End If
For Each rCell In ThisWorkbook.Worksheets("Èòîã").Range("$D$168:$F$175") ' a-s, ñóììàðíûé
If rCell.Interior.ColorIndex = 37 Then
rCell.Value = 0
For i = 1 To Range("Znumberofcontracts").Value
If Not IsError(ThisWorkbook.Worksheets("Äîã. " + CStr(i) + " èòîã").Cells(rCell.Row + sumoffset, rCell.Column).Value) Then
rCell.Value = rCell.Value + Val(ThisWorkbook.Worksheets("Äîã. " + CStr(i) + " èòîã").Cells(rCell.Row + sumoffset, rCell.Column).Value)
End If
Next i
End If
Next
For Each rCell In ThisWorkbook.Worksheets("Èòîã").Range("$F$180:$L$185") ' a-s, ñóììàðíûé
rCell.Value = 0
For i = 1 To Range("Znumberofcontracts").Value
rCell.Value = rCell.Value + ThisWorkbook.Worksheets("Äîã. " + CStr(i) + " èòîã").Cells(rCell.Row + sumoffset - 1, rCell.Column).Value
Next i
Next
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachtrag...
15.12.2003 08:44:33
Alexej
Also, nachdem ich etwas rumgewerkelt habe, hat sich folgendes ergeben.

Wenn ich anstatt der Val Funktion die Cdbl Funktion benutze und in den Laendereinstellungen "." als Dezimaltrennzeichen benutze, dann funktioniert alles einwandfrei, Excel arbeitet mit beiden Trennzeichen "." und ",", er wandelt jedoch alle "," in "." um. Wenn ich jedoch "," in den Laendereinstellungen einstelle, dann funktioniert es nicht. Wie kann ich es so einstellen, dass er beides akzeptiert, als Haupttrennzeichen jedoch "," benutzt.

Gruesse,
Alexej
AW: Nachtrag...
15.12.2003 09:43:39
RAnton
Hallo Alexej,
da hast du wohl einen wunden Punkt von Excel getroffen.
Es ist immer abhängig von der Ländereinstellung, ob du Punkt oder Komma als Dezimaltrennzeichnung hast.
Wie du ja schon herausgefunden hast, kannst du die Val-Funktion verwenden. Diese verwende ich auch und habe bisher keine Probleme mehr.
Wo liegt dein Problem wenn du Val verwendest?

Gruß
RAnton
Anzeige
AW: Nachtrag...
15.12.2003 11:00:00
Alexej
Hallo RAnton,

Das Problem ist, dass wenn in den Laendereinstellungen "," als Trennzeichen eingestellt ist und ich die Daten mittels der Val Funktion auslese, so schneidet die Funktion bei Zahlen, die "." als Trennzeichen haben, alles ab, was sich nach dem Punkt befindet. Unmoeglich sowas aber auch :((

Ich versuche es z.Z. mit Zwischenloesungen zu klaeren, da es wohl den Anschein hat, das es ein Manko von Excel ist :(

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige