Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1040to1044
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

formatierung

formatierung
24.01.2009 08:19:01
haustein
hallo gemeinschaft
habe ein problem mit einer formatierung
habe ein betragsfeld z.b. 1299,94
nun möchte ich dieses so formatieren, dass dort in der zelle steht 1,300.00 - also das tausendeer trennzeichen als komma und vor der centstelle einen punkt - könnt ihr mir dabei bitte helfen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: formatierung
24.01.2009 08:35:45
Tino
Hallo,
unter
Extras -> Optionen -> International
die Behandlung von Zahlen entsprechend einstellen.
Gruß Tino
AW: formatierung
24.01.2009 08:41:06
haustein
würde gerne das per vba lösen - gibt es da ne möglichkeit - brauche mit den werten nicht zu rechnen - benötige halt nur die darstellung
AW: formatierung
24.01.2009 09:17:00
Tino
Hallo,
hier mal ein Code, kommt als Code in das entsprechende Tabellenblatt.
Den Wirkungsbereich musst Du noch anpassen.
Rechnen kannst Du aber nicht mehr damit.
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Long
Dim strZahl As String
Dim WirkungsBereich As Range
 
'hier den Wirkungsbereich angeben 
Set WirkungsBereich = Range("A2:A50")
 
Application.EnableEvents = False

     For A = 1 To Target.Count
    
      If Not Intersect(Target(A), WirkungsBereich) Is Nothing Then
          If Target(A) <> "" And IsNumeric(Target(A)) Then
           strZahl = Format(Target(A), "#,##0.00")
           strZahl = Replace(strZahl, ",", "@")
           strZahl = Replace(strZahl, ".", ">")
           strZahl = Replace(strZahl, "@", ".")
           strZahl = Replace(strZahl, ">", ",")
           Target(A) = "'" & strZahl
          End If
       End If
    
     Next A

Application.EnableEvents = True

End Sub


Gruß Tino

Anzeige
1299,94 wird aber zu 1,299.94 und nicht 1,300.00
24.01.2009 10:09:00
Matthias
Hallo Tino
Bitte nicht falsch verstehen. Das ist keine Kritik. Ich lese fast alles mit hier im Forum und lerne dadurch im Selbststudium
Es kann ja auch sein das ich etwas falsch verstehe.
Deshalb meine Frage:
Sollte da nicht noch Folgende Zeile mit rein ?


......
For A = 1 To Target.Count
Target = Round(Target, 0)
If Not Intersect(Target(A), WirkungsBereich) Is Nothing Then
..................
sonst wird 1299,94 ja nicht zu 1,300.00


Gruß Matthias
@Matthias
24.01.2009 10:22:13
Tino
Hallo,
die Aufgabe wurde zwar Beispielhaft so dargestellt, aber im Text stand nur.
"also das tausendeer trennzeichen als komma und vor der centstelle einen punkt"
Aber sollte das runden wirklich beabsichtigt sein, hast Du natürlich vollkommen recht.
Aber ich würde Application.Round(Target(A), 0) verwenden,
da es sonst zu rundungsfehlern kommen kann.
Haustein kann sich ja nochmal melden.
Gruß Tino
Anzeige
alles klar, Danke oT
24.01.2009 10:32:00
Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige