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

1000er-Trennzeichen bei bestimmter Zellbedingung

1000er-Trennzeichen bei bestimmter Zellbedingung
30.07.2014 15:44:55
Ich
Hallo @ all :)
Ich bräuchte einen VBA Code und bitte um Hilfe!
Zum Anliegen: Ein Tabellenblatt besteht aus einer Gewinn-und Verlustrechnung (GuV) - ausschließlich Zahlen (Plus- oder Minus-Werte) pro Zelle im Sheet. Nun sollen alle Zellen des gesamten Sheets nach einer bestimmten Zellbedingung geprüft und ggf. angepasst werden:
1. Die Zellen des gesamten Sheets sollten erst einmal auf eine Dezimalstelle=3 (ohne 1000er-Trennzeichen) formatiert werden
2. Anschließend sollen alle Werte, welche >1000 sowie alle Werte Das sollte es eigentlich schon gewesen sein. Leider bekomme ich das weder mit einer WENN-Funktion oder dergleichen gebacken :(
Freue mich daher auf Voschläge und Danke vorab!
Gruß
Ben

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Doppelt und immer noch unverständlich! (owT)
30.07.2014 16:25:12
EtoPHG

AW: Doppelt und immer noch unverständlich! (owT)
30.07.2014 16:51:51
Ich
Hallo zusammen :)
Was erstmal wie "doppelt" oder "dreifach" scheint, hat den einfachen Vorteil das die Werte, welche größer als 1000, sowie solche Werte die kleiner -1000 sind, 1000er-Trennzeichen nicht korrekt darstellen: Grund hierfür liegt darin, das beispielsweise ein Tausender Wert wie folgt ausschaut: 1234,567890 (gerechnet wird also mit allen Nachkommzahlen (und das soll auch so sein)).
Das gesamte Blatt soll ja mit einer Dezimale=3 dargestellt werden (macht den Beispielwert 1234,567).
1000er-Trennzeichen würden in diesem Fall falsch gesetzt, da die Zahl dann so ausschauen würde: 1234,567,890
Um die Ansicht also zu verbessern, sollen nur die Werte mit der o.g. Bedingung durch 1000 geteilt werden (macht also eine Darstellung von 1,234). Wenn nun 1000er-Trennzeichen für diese Werte angewendet werden haben wir die Zahl 1,234,567
Und genau diese Darstellung bräuchte ich :) Einzeln natürlich kein Problem zu realisieren, allerdings scheitere ich bei der Automation per Makro. Schließlich soll die Bedingung auf alle Zellen angewandt werden.
Würde mich freuen, wenn's klappt.
Schon mal Danke.

Anzeige
AW: Doppelt und immer noch unverständlich! (owT)
30.07.2014 16:57:53
Spenski
Mit doppelt und dreifach ist eher gemeint das du 3 thread für das Thema angelegt hast
Gruss

AW: Doppelt und immer noch unverständlich! (owT)
30.07.2014 17:01:24
Ich
Hallo Spenski,
achso. Verstehe! Nur war ich das gar nicht :/ Habe nur auf die Betreffquotes geantwortet... Erstellt hab ich die nicht!
Ist ja aufregend hier :)

AW: Trennzeichen?!
30.07.2014 17:29:20
Michael
Hallo Ben,
also gut, dann eben HIER.
Ich habe den Eindruck, Dein Problem liegt wo ganz anders: Tausendertrennzeichen sind standardmäßig PUNKTE und keine Kommas. So, wie Du Dein Beispiel darstellst, mit 123,456,000 erscheint das bei mir nämlich nicht!
Das sollte eine Geschichte mit der Internationalisierung sein, denn die Amis verwenden ein TausenderKOMMA, dafür aber einen Dezimalpunkt.
Schau mal in den derartigen Einstellungen nach, wo auch immer die sein mögen, ich mag jetzt nicht suchen.
Google-Stichpunkte etwa: Excel, spracheinstellung, tausendertrennzeichen oder so.
Gruß,
Michael

Anzeige
AW: Trennzeichen?!
30.07.2014 18:08:13
Ich
Hallo Michael,
da hast du recht. Es geht etwas um die internationale Darstellung, da auch "Amis" mit den Dateien arbeiten werden. Das Problem der Umwandlung von Kommata zu Punkten und umgekehrt ist bereits geklärt.
Nun geht es halt nur noch um die Darstellung der Werte über 1000 und unter -1000. Daher mein Anliegen :)
Ich habe meines Erachtens schon alle Fälle integriert und bräuchte halt nur diesen letzten Prozessablauf als VBA.
Wie schaut's aus, ist das überhaupt möglich?
Also:
1. Durchsuche alle Zellen mit der Bedingung: Zellwert1000
2. bei erfüllter Bedingung (Zelle) dividiere Zellenwert durch 1000
3. und formatiere die Zelle mit TRUE für 1000er-Trennzeichen
Gruss
Ben

Anzeige
AW: Trennzeichen?!
30.07.2014 19:04:59
Michael
Hallo Ben,
meinst du etwa so:
Sub Formatierung()
' Habe mit einem Bereich getest:
'   Makrorekorder:
'    Range("A2:C11").Select
'    Selection.Style = "Comma"
'    Selection.NumberFormat = _
'       "_-* #,##0.000 _€_-;-* #,##0.000 _€_-;_-* ""-""? _€_-;_-@_-"
' Ende Makrorekorder
' ich gebe dem Bereich A2:C11 nun den Namen "Zu_Konvertieren" und
' gehe mit for each drüber:
' Aufzeichnung nachbearbeitet, Abfrage eingefügt:
For Each zelle In Range("Zu_Konvertieren")
If Abs(zelle.Value >= 1000) Then
zelle.Value = zelle.Value / 1000
With zelle
.Style = "Comma"
.NumberFormat = _
"_-* #,##0.000 _€_-;-* #,##0.000 _€_-;_-* ""-""? _€_-;_-@_-"
End With
End If
Next zelle
End Sub
Das .NumberFormat kannst Du ja noch recherchieren, aber, wie gesagt, in einer Tabelle einfach Daten zu ändern, das nimmt Dir jeder Wirtschaftsprüfer übel!!!
Ich würde wetten, daß Du da irgendeinen dicken Denkfehler drinhast.
Außerdem wäre es hilfreich, Begleitumstände wie die internationale Geschichte von vornherein zu erwähnen.
Gruß,
Michael

Anzeige
AW: Trennzeichen?! Nachtrag
30.07.2014 19:35:05
Michael
den Namen habe ich *händisch* vergeben, und eigentlich isser gar nicht nötig, Du kannst in der Zeile
For Each zelle In Range("Zu_Konvertieren")
als Range eingeben (oder zuvor ermitteln), was Du brauchst...

AW: Trennzeichen?! Nachtrag
30.07.2014 21:03:05
Ich
Hallo Michael,
super. Das schaut gut aus. Funktioniert zwar noch nicht, aber nehme ich als Vorlage und passe das bei.
Dank dir.
PS: Keine Sorge. Das geht nicht zum Wirtschaftsprüfer!
Gruss
Ben

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige