Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1740to1744
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

VBA bed.Formatierung - Zahlenformat

VBA bed.Formatierung - Zahlenformat
25.02.2020 16:15:15
KST
Hallo,
ich habe folgenden Sachverhalt:
ich stelle meinen Kollegen eine Excel Vorlage zur Verfügung. Durch diverse Aktionen (Kopieren...) der Kollegen kommt es immer wieder vor das meine Bedingten Formatierungen ihre ursprünglichen Bezüge verlieren. zum Aufräumen hab ich mir ein VBA Makro gebaut welches erst alle im Tabellenblatt enthaltenen bedingten Formatierungen löscht und dann meine wieder einspielt.
Ich möchte in einem Fall das Zahlenformat 000,0 (also eine nachkommastelle) und einmal 000,000 (also drei Nachkommastellen). mit dem Rekorder hat das auch gut ausgesehen wenn das Makro allerdings dann drüber läuft werden die gewünschten Zahlenformate ignoriert.
Hier mein Makrotext:
  • 'Ganzzahl 0,000 in Spalte E - klappt nicht !!!
    Range("E9:E6150").Select
    Selection.NumberFormat = "0.000"
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=GANZZAHL(E9)E9"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    'ExecuteExcel4Macro "(2,1,""0,000"")"
    Selection.FormatConditions(1).StopIfTrue = False
    Selection.NumberFormat = "General"
    Range("q1:ar6150").Select
    Selection.NumberFormat = "0.0"
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
    "=GANZZAHL(q1)q1"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    'ExecuteExcel4Macro "(2,1,""0,0"")"
    Selection.FormatConditions(1).StopIfTrue = False
    Selection.NumberFormat = "General"

  • vielleicht kann jemand mir weiterhelfen...
    Danke

    8
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: VBA bed.Formatierung - Zahlenformat
    25.02.2020 16:40:33
    Daniel
    HI
    da du mit einem deutschen Excel arbeitest, verwendest du bei der Eingabe der Zahlenformate natürlich das deutsche Format.
    der Recorder zeichnet dies auch genau so auf.
    im VBA-Makro braucht man in der Regel aber unabhängig von der Ländereinstellung die amerikanischen Formate.
    daher muss man dann in solchen Fällen den aufgezeichneten Code entsprechend abändern.
    du musst also für das Makro das deutsche Dezimal-Komma in einen amerikanischen Dezimal-Punkt abändern.
    Gruß Daniel
    AW: VBA bed.Formatierung - Zahlenformat
    25.02.2020 16:46:08
    KST
    Danke für die schnelle Antwort - aber das hatte ich schon umgestellt und es hat nichts gebracht. Also "0.000" bzw. "0.0"
    Anzeige
    AW: VBA bed.Formatierung - Zahlenformat
    25.02.2020 16:52:35
    Klexy
    Der Makro-Rekorder zeichnet schon die richtigen Formate auf, nämlich die Englischen. Makro kann nur Englisch.
    Dein Problem ist aber die Zeile
    Selection.NumberFormat = "General"
    

    die du 2x hast und die dir das formatierte Ergebnis nachträglich zunichte macht.
    AW: VBA bed.Formatierung - Zahlenformat
    25.02.2020 17:07:30
    KST
    Hab die beiden Zeilen jetzt auskommentiert und trotzdem steht in der Bedingten Formatierung "kein Format festgelegt"
    Userbild
    AW: VBA bed.Formatierung - Zahlenformat
    25.02.2020 17:27:20
    Klexy
    Dann lad mal die Datei hoch und keinen Screenshot von etwas, das keine Auswirkung auf das Zahlenformat hat.
    Und noch was: Welche Excel-Version verwendest du, dass dir der Makro-Rekorder bedingte Formatierungen aufzeichnet?
    Anzeige
    AW: VBA bed.Formatierung - Zahlenformat
    25.02.2020 17:59:41
    onur
    Vergiss den blöden Makrorecorder - Mach es dso:
    Range("E9:E6150").Select
    Selection.NumberFormat = "0.000"
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=GANZZAHL(E9)E9"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    Selection.FormatConditions(Selection.FormatConditions.Count).NumberFormat = "0,000"
    Selection.FormatConditions(Selection.FormatConditions.Count).StopIfTrue = False
    Range("q1:ar6150").Select
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=GANZZAHL(q1)q1"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    Selection.FormatConditions(Selection.FormatConditions.Count).NumberFormat = "0,0"
    Selection.FormatConditions(Selection.FormatConditions.Count).StopIfTrue = False
    

    Anzeige
    AW: VBA bed.Formatierung - Zahlenformat
    25.02.2020 18:00:22
    onur
    Die 2 Zeile muss noch weg!
    AW: VBA bed.Formatierung - Zahlenformat
    25.02.2020 17:37:07
    Daniel
    HI
    naja wenn man sich den Code mal genauer durchliest, ist es doch logisch, warum deine Bedingten Formate nicht funktionieren:
    mit Selection.NumberFormat = "0.000" weist du das Zahlenformat der Zelle direkt zu und nicht der Bedingten Formatierung.
    und am Schluss überschreibst du dann wieder das Zahlenformat der Zelle direkt mit General:
    Selection.NumberFormat = "General"
    Gruß Daniel

    304 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige