Anzeige
Archiv - Navigation
1328to1332
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
Inhaltsverzeichnis

Komma statt Punkt und 3 Nachkommastellen

Komma statt Punkt und 3 Nachkommastellen
16.09.2013 14:45:41
Nico
Hallo zusammen,
ich habe ein kleines Problem welches ich einfach nicht hinbekomme. Habe jetzt schon einiges ausprobiert aber leider klappt es einfach nicht so wie ich will.
Was ich will: Ich erstelle per VBA eine neue Excel-Datei und kopiere dort meine Werte aus der "alten" Excel-Datei (bis hierhin klappt alles wunderbar). Dann soll er mir die Werte ab Zeile 6 bis Zeile 100 auf 3 Nachkommastellen runden und dann mti einem Kommazeichen trennen anstatt mit einem Punkt. Wenn die Werte mehr als 3 Nachkommastellen haben, dann bringe ich das noch hin. Die Schwierigkeit ist jetzt aber, ALLE Werte mit 3 Nachkommastellen anzuzeigen. Also z.B. soll er mir den Wert 500 als 500,000 anzeigen!
Habt ihr einen Vorschlag wie ich das hinbekomme? Mit Punkt durch Komma ersetzen funktioniert hier ja leider nicht, da er keinen Punkt findet.
Gruss Nico

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Komma statt Punkt und 3 Nachkommastellen
16.09.2013 15:00:00
Bastian
Hallo Nico,
vielleicht so?
Range("A1").NumberFormatLocal = "0,000" Gruß, Bastian

AW: Komma statt Punkt und 3 Nachkommastellen
16.09.2013 15:46:07
Nico
Hallo,
hab es mal ausprobiert. Jetzt macht er mir statt 1200,000 - 1,200
Scheint aber irgendwas in die Richtung zu sein
Nico

AW: Komma statt Punkt und 3 Nachkommastellen
16.09.2013 16:05:20
Bastian
Hallo Nico,
komisch, bei mir kommt 1200,000 wenn die Zelle vorher das Standard-Format hatte.
Vielleicht noch ein
Range("A1").ClearFormats
davor?
Gruß, Bastian

AW: Komma statt Punkt und 3 Nachkommastellen
16.09.2013 16:33:27
Nico
Hi,
leider funktionierts auch nicht. Macht immer noch aus 1200 = 1,200
und aus 96 macht er mir 0,096
Gruss
Nico

Anzeige
AW: Komma statt Punkt und 3 Nachkommastellen
16.09.2013 16:25:41
Nico
Hi,
hmm, leider nein. Es macht immer noch aus 1200 = 1,200
und aus 96 macht es 0,096
Gruss
Nico

AW: Komma statt Punkt und 3 Nachkommastellen
16.09.2013 16:36:47
Bastian
Hallo Nico,
ohne Deinen Code zu kennen fällt mir im Monent nichts mehr dazu ein.
Gruß, Bastian

stell mal das ZellFormat auf Zahl mit ...
16.09.2013 16:37:22
Matthias
Hallo
... 3 Dezimalstellen ein
Tabelle1

 A
11200,000
296,000


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Meine Vermutung:
Schau mal in die ExcelOptionen, ob da nicht vielleicht was verstellt ist.
Erweitert: Dezimalkomma automatisch einfügen
Häkchen einfach entfernen!
und schau auch mal bei bei Trennzeichen vom Betriebssystem übernehmen, ob da was verstellt ist
Gruß Matthias

Anzeige
AW: stell mal das ZellFormat auf Zahl mit ...
16.09.2013 16:56:02
Nico
Tja,
habe ich überprüft, geht aber leider immer nocht nicht.
Hier mal mein Code:
Sub Test()
Dim strFileName1 As Variant
Dim strPath1 As String
Dim wkbNeu1 As Variant
Dim wksQ1 As Worksheet
Application.ScreenUpdating = False
Sheets("XXX").Visible = True                                       'Tabelle einblenden
Sheets("XXX").Unprotect ("X")                                      'Tabelle entsperren
strPath1 = Sheets("XXX").Range("X")                                'Pfad definieren
If Right(strPath1, 1)  "\" Then strPath1 = strPath1 & "\"
strFileName1 = Sheets("XXX").Range("X")                            'Name definieren Excel
Set wksQ1 = Sheets("XXX")                                     'zu kopierende Tabelle  _
definieren
Set wkbNeu1 = Workbooks.Add(1)                                'neue Datei definieren
wksQ1.Range("A1:A100").Copy                                   'zu kopierende Daten  _
definieren
With wkbNeu1
.Sheets(1).Cells(1, 1).PasteSpecial xlPasteValues           'wohin sollen die kopierten  _
Daten eingefügt werden
End With
Dim i As Long                                                      'Zeilen ohne Wert in  _
Spalte C löschen
With Worksheets(1)
For i = 100 To 6 Step -1                                          'Wertebereich  _
definieren
If Val(.Cells(i, 3).Value) = 0 Then .Rows(i).Delete            'Zeile löschen falls  _
kein Wert in Spalte C
Next
End With
Dim rng1 As Range                                                  'Alle Zahlen in neuer  _
Tabelle auf 3 Stellen runden, sofern die Zahl mehr als 3 Stellen hat!
For Each rng1 In ActiveSheet.UsedRange
If IsNumeric(rng1) And Not rng1 = "" Then
rng1 = Round(rng1, 3)
End If
Next
Range("C6:C100").NumberFormatLocal = "0,000"
With wkbNeu1
.SaveAs strPath1 & strFileName1, xlText                         'Workbook als .txt- _
Datei speichern
.SaveAs strPath1 & strFileName1, xlOpenXMLWorkbook              'speichern unter  _
definiertem Pfad und mit definiertem Namen
.Close                                                          '.txt-Datei schliessen
End With
Dim backupDir1
backupDir1 = Sheets("XXX").Range("X")                              'Pfad definieren
On Error Resume Next
Kill (backupDir1 & "\*.xlsx*")                                     'alle .xlsx-Dateien lö _
schen
End Sub
Er soll mir eine neue Excel-Datei an einem vorgegebenen Pfad mit vorgegebenem Namen erstellen. Dann Daten aus einer Tabelle meines jetzigen Workbooks kopieren und in die neue Excel-Datei kopieren. Wenn in Spalte C keine Werte sind, die komplette Spalte löschen. Alle Zahlen im File auf 3 Stellen runden, sofern mehr als 3 Stellen vorhanden sind. Dann die Umformatierung der Zahl in 0,000 mit 3 Nachkommastellen. Dann die neu erstellte Excel-Datei als .txt-File abspeichern. Dann die neu erstellte Excel-Datei löschen. Funktioniert alles wunderbar bis auf die Umformatierung.
Gruss Nico

Anzeige
probier mal NumberFormat = "#,##0.000" owT
16.09.2013 17:02:17
Matthias

AW: probier mal NumberFormat = "#,##0.000" owT
16.09.2013 17:18:15
Nico
Nee, leider auch nicht.
Ergibt 1200 = 1,200.000
Gruss Nico

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige