Microsoft Excel

Herbers Excel/VBA-Archiv

Zellenformatierung ändert sich automatisch.

Betrifft: Zellenformatierung ändert sich automatisch. von: Andreas
Geschrieben am: 04.12.2012 10:56:23

Moin,

ich habe folgendes Problem. Die Zellenformatierung änder sich selbstständig in ein anderes Format wenn ich ein Zahl eingebe

Ich verwende die Formatierung Standard wenn ich die Zahl (47,5) jetzt ändere ich die Zahl z.B.  _
30 eingebe dann 
ändert sich die Zahl in 30:00 und das Format auf [hh]:mm und in der Zeile oben steht
 "01.01.1900  06:00:00"
Folgendes habe ich bereits versucht;
1.Office-Button => Excel-Optionen => Erweitert => Optionen bearbeiten und
dort "Dezimalkomma automatisch einfügen" deaktivieren.

2.rechte Maustaste => Zellenformatieren => Standard

beides hat nicht funktioniert. Punkt zwei stellt sich leider immer wieder um.

Andreas

  

Betrifft: nicht nachvollziehbar von: Klaus M.vdT.
Geschrieben am: 04.12.2012 11:21:33

Hallo Andreas,

wenn ich irgendwo "30" eingebe, steht da 30.
Der Fehler muss in deiner Mappe liegen. Lädst du die mal hoch?

Grüße
Klaus M.vdT.


  

Betrifft: AW: nicht nachvollziehbar von: Andreas
Geschrieben am: 04.12.2012 11:31:28

Hallo Klaus,

das ist auch die Datei, wo ich das mit dem Anzeigen des Minuswertes in Zelle T9 nicht hinbekomme.
Obwohl ich dein Tipp versucht habe.

https://www.herber.de/bbs/user/82880.xls


  

Betrifft: AW: nicht nachvollziehbar von: Klaus M.vdT.
Geschrieben am: 04.12.2012 12:07:32

Was macht dieses Makro?
Auf jedem Fall ist diese Zeile
.NumberFormat = "[hh]:mm"
dein Problem. Du kannst die Zelle noch so oft als "Standard" definieren, wenn das Makro sie dir danach wieder zurückformatiert!

Private Sub Worksheet_Change(ByVal Target As Range)
Dim s%, m%
'Soll nur bei einer Eingabe in Spalte A wirksam werden:
If Target.Column <> 1 Then Exit Sub
With Cells(Target.Row, Target.Column)
    If .Value = "" Then Exit Sub
    If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
        InStr(.Value, ",") = 0 Then
        .NumberFormat = "[hh]:mm"
        If Len(.Value) > 2 Then
            s = Left(.Value, Len(.Value) - 2)
            m = Right(.Value, 2)
        Else
            s = .Value
            m = 0
        End If
        .Value = s & ":" & m
    End If
End With
End Sub



  

Betrifft: Klar ist das nachvollziehbar von: Matze,Matthias
Geschrieben am: 04.12.2012 12:14:13

Hallo Andreas,
du hast doch es selber so gewollt!
Du benutzt in diesem Blatt ein Makro mit dem Change Ereignis betreffen der Spalte A

Private Sub Worksheet_Change(ByVal Target As Range)
Dim s%, m%
'Soll nur bei einer Eingabe in Spalte A wirksam werden:
If Target.Column <> 1 Then Exit Sub
With Cells(Target.Row, Target.Column)
    If .Value = "" Then Exit Sub
    If IsNumeric(.Value) And InStr(.Value, ":") = 0 And _
        InStr(.Value, ",") = 0 Then
        .NumberFormat = "[hh]:mm"
        If Len(.Value) > 2 Then
            s = Left(.Value, Len(.Value) - 2)
            m = Right(.Value, 2)
        Else
            s = .Value
            m = 0
        End If
        .Value = s & ":" & m
    End If
End With
End Sub
Du solltest das was du mit den Werten dort machen möchtest genau defenieren,
so wird hier ein ein "numerischer Wert" eingegeben wird das Format in [hh]:mm ausgegeben

Matze


  

Betrifft: Hallo Matze, von: Klaus M.vdT.
Geschrieben am: 04.12.2012 12:57:16

.. mein "nicht nachvollziehbar" Betreff ist aber entstanden, bevor dieses Makro bekannt war .. :-)

Grüße,
Klaus M.vdT.


  

Betrifft: AW: nicht nachvollziehbar von: Andreas
Geschrieben am: 04.12.2012 12:47:57

Hey,

ja mir war nicht klar das der Code/Makros noch vorhanden war. Das hatte ich im Zusammenhang mit der Eingabe von Zahlen ohne Doppelpunkt versucht. Dazu habe ich aber eine andere Lösung inzwischen, aber leider hatte ich vergessen den Code zu löschen.

Danke für die Hilfe!

P.S. Klaus hast du dir dass mit dem Minuswert nochmal angesehen, wie gesagt das hatte leider nicht funktioniert wie du mir in dem anderen Beitrag geschrieben hast.


Andreas

Andreas


  

Betrifft: AW: nicht nachvollziehbar von: Matze,Matthias
Geschrieben am: 04.12.2012 14:21:23

Hallo Andreas,

mal abgesehen was du da vorhast würde ich das anders aufbauen.
worauf ich dich hinweisen wollte:
von 2:00 Uhr bis 21:00 Uhr sind immer noch 19 std nicht 18Std wie bei dir.

Ich bin eben mal dabei dir eine Musterdatei zu erstellen,
dauert noch ein Weilchen,..

Matze


  

Betrifft: AW: nicht nachvollziehbar von: Andreas
Geschrieben am: 05.12.2012 07:09:40

Hi Matze,

nun da ich nicht der "Spezialist" bin was Excel angeht, habe ich versucht meine vorhanden Vorlage so zu nutzen wie Sie war und mit der Hilfe des Forums die einzelnen Kriterien (Formel) einzupflegen.

Bei der Zeitberechnung (von 2:00 Uhr bis 21:00 Uhr) ist eine Stunde Pause drin (ausgeblendete Spalte) deswegen "nur" 18 Std.

Andreas


  

Betrifft: AW: nicht nachvollziehbar von: Matze,Matthias
Geschrieben am: 04.12.2012 15:29:44

Hallo Andreas,
hier mal eine kleine Musterdatei ist gleich der Jahreswechsel mit drinn wenn du das Jahr änderst.
https://www.herber.de/bbs/user/82886.xlsx

Matze


  

Betrifft: AW: nicht nachvollziehbar von: Andreas
Geschrieben am: 05.12.2012 07:15:27

Hey,

Matze dass ist ja praktisch mit der Änderung Jahreswechsel :-)
Sehr übersichtlich, vielen Dank für deine Arbeit. Klasse, da habe ich die Monate super im Überblick!

Andreas


 

Beiträge aus den Excel-Beispielen zum Thema "Zellenformatierung ändert sich automatisch."