expertenaustausch > microsoft.* > microsoft.excel

Murat Topuz (07.01.2008, 18:41)
Hallo NG,

ich habe da ein interessantes Phänomen.

Wenn ich eine lange Dezimalzahl (z.B.: 1,111222333444555) in einer
Zelle habe (numberformat = Standard) und dieses Worksheet dann als CSV
abspeichere, dann wird in der CSV nur bis zur 9ten Stelle hinterm
komma nach CSV konvertiert, der Rest wird abgeschnitten

Die Frage, kann man Excel irgendwie einstellen (Option?!), dass er
alle Stellen nach CSV mit exportiert ohne irgendwelche Stellen
abzuschneiden, ohne das ich am Numberformat etwas drehen muss.

mfg
Murat
arno (09.01.2008, 13:17)
>Wenn ich eine lange Dezimalzahl (z.B.: 1,111222333444555) in einer
>Zelle habe (numberformat = Standard)


versuch mal die Zahl als Text zu formatieren. Der csv-Datei ist das sowieso
egal. Ich weiss nicht ob das Zellenformat Text dafür ausreicht, oder ob du
die Test-Funktion verwenden musst (z. B. =TEXT(A1;"#;0;-#")).

arno
Murat Topuz (10.01.2008, 18:34)
On 9 Jan., 12:17, "arno" <nospam@invalid> wrote:
> >Wenn ich eine lange Dezimalzahl (z.B.: 1,111222333444555) in einer
> >Zelle habe (numberformat = Standard)

> versuch mal die Zahl als Text zu formatieren. Der csv-Datei ist das sowieso
> egal. Ich weiss nicht ob das Zellenformat Text dafür ausreicht, oder ob du
> die Test-Funktion verwenden musst (z. B. =TEXT(A1;"#;0;-#")).
> arno


Nützt nichts... Wenn ich einen lange Zahl ein Text formatiere, also
die Zelle, dann werden auch nicht alle Stellen angezeigt.

Ich hatte gehofft es gibt irgendeine Möglichkeit die Werte (.Value) zu
exportieren, die wirklich in den Zellen stehen und nicht nur dir .Text
Eigenschaft

trotzdem Danke

mfg
murat
Thomas Ramel (10.01.2008, 23:15)
Grüezi Murat

Murat Topuz schrieb am 07.01.2008

> ich habe da ein interessantes Phänomen.


In der Tat.

> Wenn ich eine lange Dezimalzahl (z.B.: 1,111222333444555) in einer
> Zelle habe (numberformat = Standard) und dieses Worksheet dann als CSV
> abspeichere, dann wird in der CSV nur bis zur 9ten Stelle hinterm
> komma nach CSV konvertiert, der Rest wird abgeschnitten


Das ist bereits in der Anzeige in der Excel-Zelle der Fall; auch hier
werden nur 9 Nachkommastellen angezeigt, wenn die Zelle als 'Standard'
formatiert ist.

> Die Frage, kann man Excel irgendwie einstellen (Option?!), dass er
> alle Stellen nach CSV mit exportiert ohne irgendwelche Stellen
> abzuschneiden, ohne das ich am Numberformat etwas drehen muss.


Verwende dazu z.b. die folgenden VBA-Zeilen und passe die Variablen im
ersten Teil an:

Sub SaveCSV_a()
Dim a As Variant
Dim b() As String
Dim D() As String
Dim Z As Long
Dim S As Byte
Dim R As Long
Dim C As Byte

'Speicherpfad eintragen
Const Path As String = "C:\Test\"
'Dateiname eintragen
Const filename As String = "Test2"
'Dateiendung anpassen (.txt, .csv oder andere)
Const Extension As String = ".TXT"
'Trennzeichen anpassen (Semikolon, Komma oder andere)
Const Separator As String = ";"
'Texerkennungszeichen anpassen (kann meist so bleiben)
Const Wrapper As String = """"

'Zu speichernden Bereich eintragen z.B:
'Worksheet("DeinTabellenblatt").UsedRange
'Worksheet("DeinTabellenblatt").Range("A1:B10")

a = ActiveSheet.UsedRange

If Not IsEmpty(a) Then
Z = UBound(a, 1)
S = UBound(a, 2)
ReDim b(S - 1)
ReDim D(Z - 1)
For R = 1 To Z
For C = 1 To S
If InStr(1, a(R, C), Separator) > 0 Then
'Rows whith cells including the Separator
'put in Wrapper
b(C - 1) = Wrapper & a(R, C) & Wrapper
Else
b(C - 1) = a(R, C)
End If
Next C
D(R - 1) = Join(b(), Separator)
Next R
Open Path & filename & Extension For Output As #1
Print #1, Join(D(), vbCrLf)
Close #1
End If
End Sub

Mit freundlichen Grüssen
Thomas Ramel
arno (11.01.2008, 10:54)
funktioniert einwandfrei

KOA;BEZ;ISK;ISG;ISB;TYP;EINHEIT;FLAGS;KOAGRP;BEM;M EMO
51;folien;1,11123457;0;1;K;1,111234568;1,111234567 89123;;;

formel: =TEXT(C19;"#,###########################")
liefert 1,11123456789123

arno
arno (11.01.2008, 10:56)
funktioniert auch mein einem ganz normalen zahlenformat (vorletzt mit null
am ende):

ISK;ISG;ISB;TYP;EINHEIT;FLAGS;KOAGRP;BEM;MEMO
1,11123457;0;1;K;1,111234567891230;1,1112345678912 3;;;

format zelle zahl 15 nachkommastellen.

selber experimentieren hilft auch

arno
Murat Topuz (11.01.2008, 14:00)
On 11 Jan., 09:56, "arno" <nospam@invalid> wrote:
> funktioniert auch mein einem ganz normalen zahlenformat (vorletzt mit null
> am ende):
> ISK;ISG;ISB;TYP;EINHEIT;FLAGS;KOAGRP;BEM;MEMO
> 1,11123457;0;1;K;1,111234567891230;1,1112345678912 3;;;
> format zelle zahl 15 nachkommastellen.
> selber experimentieren hilft auch
> arno


Erst ein mal vielen Dank für die Antworten. Ich hatte gehofft es gibt
irgendeine Einstellung oder Option an der man drehen muss um dieses
Phänomen zu beseitigen.

VB/VBA Lösungen hatte ich bereits in der Benutztung. Trotzdem danke
für die VBA Sub, ich werde diese Lösung in Betracht ziehen und
wahrscheinlich mit einbauen!

thx a lot
mchoeti (17.04.2019, 08:48)
Am Freitag, 11. Januar 2008 09:54:03 UTC+1 schrieb arno:
> funktioniert einwandfrei
> KOA;BEZ;ISK;ISG;ISB;TYP;EINHEIT;FLAGS;KOAGRP;BEM;M EMO
> 51;folien;1,11123457;0;1;K;1,111234568;1,111234567 89123;;;
> formel: =TEXT(C19;"#,###########################")
> liefert 1,11123456789123
> arno


HI, das klappt sicher, aber es geht ja um die letzte 0 dahinter ;-)
und die wird abgeschnitten
Frank Willberger (17.04.2019, 10:45)
Am 17.04.2019 um 08:48 schrieb mchoeti:
> Am Freitag, 11. Januar 2008 09:54:03 UTC+1 schrieb arno:
> HI, das klappt sicher, aber es geht ja um die letzte 0 dahinter ;-)
> und die wird abgeschnitten

Dann ersetze die Raute einfach durch die entsprechende Anzahl Nullen, also:
formel: =TEXT(C19;"0,000000000000000000000000000")

Ciao

Frank
Heinz Tauer (17.04.2019, 10:48)
Am 17.04.2019 um 10:45 schrieb Frank Willberger:
[..]
Frank Willberger (17.04.2019, 11:37)
Am 17.04.2019 um 10:48 schrieb Heinz Tauer:
> Am 17.04.2019 um 10:45 schrieb Frank Willberger:
> ....ob nach 11 Jahren da noch Bedarf besteht?

Manche Postings müssen erst reifen - zumal die letzte Anfrage ja von
heute war ...

Ciao

Frank
Ähnliche Themen