Discussion:
Excel 2003/2010: Zahlenformat
(zu alt für eine Antwort)
Ralf Brinkmann
2014-03-09 16:32:29 UTC
Permalink
In einer Tabelle werden Eintragungen zur Kennzeichnung mit forlaufender
Zahl und dem Jahr zweistellig versehen. Also 127/14, 128/14 und so
weiter.

Ich möchte nun, dass die Zahlen immer vor dreistellig und hinten
zweistellig angezeigt werden, auch wenn man sie zum Beispiel vorne nur
zweistellig eingibt:

009/14
099/14
999/14.

Bei reinen Zahlen ist das kein Problem, aber der "/" bereitet mir
Schwierigkeiten. Wie kann man das durch einfache Einstellung des
entsprechenden Zahlenformats und ohne VBA innerhalb einer Zelle lösen?

Gruß, Ralf
--
Windows 7x64
Opera 21.x Dev.
The Bat! Pro 6.3.x Alpha
Claus Busch
2014-03-09 17:20:19 UTC
Permalink
Hallo Ralf,
Post by Ralf Brinkmann
Ich möchte nun, dass die Zahlen immer vor dreistellig und hinten
zweistellig angezeigt werden, auch wenn man sie zum Beispiel vorne nur
009/14
099/14
999/14.
für das Jahr 2014 würde ich so formatieren:
000"/14"
Dann musst du nur die vordere Zahl eingeben. Wenn du 1 eingibst, steht
dann in der Zelle 001/14


Mit freundlichen Grüßen
Claus
--
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3
Ralf Brinkmann
2014-03-09 17:57:23 UTC
Permalink
Hallo Claus!
Post by Claus Busch
Post by Ralf Brinkmann
009/14
099/14
999/14.
000"/14"
Dann musst du nur die vordere Zahl eingeben. Wenn du 1 eingibst, steht
dann in der Zelle 001/14
Ja, das geht aber leider nicht. Es handelt sich um eine Übergabeliste,
in die durchaus auch mal Sachen aus anderen Jahren eingetragen werden.

Gruß, Ralf
--
Windows 7x64
Opera 21.x Dev.
The Bat! Pro 6.3.x Alpha
Claus Busch
2014-03-09 18:03:23 UTC
Permalink
Hallo Ralf,
Post by Ralf Brinkmann
Ja, das geht aber leider nicht. Es handelt sich um eine Übergabeliste,
in die durchaus auch mal Sachen aus anderen Jahren eingetragen werden.
dann formatiere so:
000"/"00
Dann musst du allerdings auch das Jahr eingeben. Wenn du 114 in die
Zelle schreibst, wird daraus dann 001/14


Mit freundlichen Grüßen
Claus
--
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3
Ralf Brinkmann
2014-03-09 18:25:52 UTC
Permalink
Hallo Claus!
Post by Claus Busch
000"/"00
Dann musst du allerdings auch das Jahr eingeben. Wenn du 114 in die
Zelle schreibst, wird daraus dann 001/14
Das hatte ich schon probiert. Gib mal spaßeshalber "9/14" oder "127/13"
ein. :-)

Gruß, Ralf
--
Windows 7x64
Opera 21.x Dev.
The Bat! Pro 6.3.x Alpha
Claus Busch
2014-03-09 18:33:47 UTC
Permalink
Hallo Ralf,
Post by Ralf Brinkmann
Das hatte ich schon probiert. Gib mal spaßeshalber "9/14" oder "127/13"
ein. :-)
so sollst du es ja auch nicht eingeben. Wenn du den Schrägstrich
eingibst, nimmt Excel das als Datum.
Gebe einfach 914 oder 12713 ein.


Mit freundlichen Grüßen
Claus
--
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3
Ralf Brinkmann
2014-03-09 18:39:49 UTC
Permalink
Hallo Claus!
Post by Claus Busch
Post by Ralf Brinkmann
Das hatte ich schon probiert. Gib mal spaßeshalber "9/14" oder "127/13"
ein. :-)
so sollst du es ja auch nicht eingeben. Wenn du den Schrägstrich
eingibst, nimmt Excel das als Datum.
Gebe einfach 914 oder 12713 ein.
Ach SO! Wie kann ich das nur meinen ONUs eintrichtern!?

Eine Lösung mit Strich fällt Dir also auch nicht ein? So im Stil von

000"/"JJ

?

Gruß, Ralf
--
Windows 7x64
Opera 21.x Dev.
The Bat! Pro 6.3.x Alpha
Claus Busch
2014-03-09 18:45:12 UTC
Permalink
Hallo Ralf,
Post by Ralf Brinkmann
Eine Lösung mit Strich fällt Dir also auch nicht ein? So im Stil von
000"/"JJ
du kannst nicht mit Schrägstrich und nicht mit Minuszeichen Zahlen
eingeben, denn das ist die vereinfachte Datumseingabe von Excel. Es geht
also nicht 9/14 oder 9-14.
Wenn du also einen Schrägstrich brauchst, musst du diesen mit dem Format
erstellen anstatt einzugeben. Also entweder mit meinem vorherigen
Vorschlag oder mit dem Format:
000\/00


Mit freundlichen Grüßen
Claus
--
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3
Ralf Brinkmann
2014-03-09 20:42:32 UTC
Permalink
Hallo Claus!
Post by Claus Busch
Wenn du also einen Schrägstrich brauchst, musst du diesen mit dem Format
erstellen anstatt einzugeben. Also entweder mit meinem vorherigen
000\/00
Ok, danke. Ich werde mal sehen, wie ich das mit den Kollegen umsetze.
Das mit dem Backslash kannte ich noch nicht. Wieder was gelernt.

Gruß, Ralf
--
Windows 7x64
Opera 21.x Dev.
The Bat! Pro 6.3.x Alpha
Jörg Eisenträger
2014-03-09 22:35:25 UTC
Permalink
Post by Ralf Brinkmann
Post by Claus Busch
Wenn du also einen Schrägstrich brauchst, musst du diesen mit dem Format
erstellen anstatt einzugeben. Also entweder mit meinem vorherigen
000\/00
Ok, danke. Ich werde mal sehen, wie ich das mit den Kollegen umsetze.
Das mit dem Backslash kannte ich noch nicht. Wieder was gelernt.
Hallo Ralf,

nur so als Tipp: Prüfe ernsthaft, ob Du unbedingt diese Darstellung von
zwei unabhängigen Werten in einer Zelle mit Schrägstrich dazwischen
brauchst. Führende Nullen und Sonderzeichen, die auch etwas anderes
bedeuten können, machen früher oder später immer Probleme - in Excel, in
Datenbanken und besonders beim Export zwischen beiden.

Warum nicht beide Werte in zwei benachbarte Spalten eingeben?

Wozu führende Nullen? Damit es "schöner" aussieht? Wenn eine Nummer
unbedingt eine konstante Länge haben soll (hier: 3 Stellen), dann fängt
man eben bei 100 an zu zählen oder setzt einen Buchstaben davor, z. B.
R001. Das "R" könnte für Rechnungsnummer stehen und wäre Bestandteil der
Rechnungsnummer.


Gruß
Jörg
--
"One of the best ways to boost your Excel efficiency is also one of the best ways to shoot yourself in the foot."
(Susan Harkins auf www.techrepublic.com/blog/10things/10-mistakes-to-avoid-when-working-with-multiple-worksheets/1961 )
HR Ernst
2014-03-10 09:10:31 UTC
Permalink
Post by Claus Busch
Post by Ralf Brinkmann
Post by Claus Busch
Wenn du also einen Schrägstrich brauchst, musst du diesen mit dem Format
erstellen anstatt einzugeben. Also entweder mit meinem vorherigen
000\/00
Ok, danke. Ich werde mal sehen, wie ich das mit den Kollegen umsetze.
Das mit dem Backslash kannte ich noch nicht. Wieder was gelernt.
Hallo Ralf,
nur so als Tipp: Prüfe ernsthaft, ob Du unbedingt diese Darstellung von
zwei unabhängigen Werten in einer Zelle mit Schrägstrich dazwischen
brauchst. Führende Nullen und Sonderzeichen, die auch etwas anderes
bedeuten können, machen früher oder später immer Probleme - in Excel, in
Datenbanken und besonders beim Export zwischen beiden.
Warum nicht beide Werte in zwei benachbarte Spalten eingeben?
Wozu führende Nullen? Damit es "schöner" aussieht? Wenn eine Nummer
unbedingt eine konstante Länge haben soll (hier: 3 Stellen), dann fängt
man eben bei 100 an zu zählen oder setzt einen Buchstaben davor, z. B.
R001. Das "R" könnte für Rechnungsnummer stehen und wäre Bestandteil der
Rechnungsnummer.
Gruß
Jörg
Und das Ergebnis der Eingabe könntest du in einer 3. Zelle/Spalte (c1) so
zusammenfassen, wenn du unbedingt den Schrägstrich haben willst: in C1
schreibst du: =a1&"/"&b1.
--
Gruß

H.-R. Ernst
Carlos Naplos
2014-03-10 14:09:19 UTC
Permalink
Hallo Ralf

Warum eigentlich kein VBA?
Da hättest Du alle Möglichkeiten, eine Eingabe nach Belieben zu
interpretieren.
Z.B. mit dem klitzekleinen Progämmchen:

' --- Anfang ---
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer

If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub

Application.EnableEvents = False

For i = 1 To Len(Target) - 2
If Not IsNumeric(Left(Target, i)) Then Exit For
Next i

Target.Value = Format(Left(Target, i - 1), "000") & "/" &
Right(Target, 2)

Application.EnableEvents = True

End Sub
' --- Ende ---

Eine Alternative, die schon angeklungen ist, wäre getrennte Eingabe- und
Anzeigespalten zu verwenden.
Dann könntest Du die Eingabespalte als Text formatieren und hättest für
die Anzeige den gesamten Funktions- und Formatierungsumfang von Excel
zur Verfügung.

Sei z.B. die Spalte A für die Eingabe als Text formatiert. Dann
formatierst Du die Anzeigespalte wie von Claus vorgeschlagen mit
000"/"00 und gibst in B1 z.B. folgende Formel ein:
=WERT(WECHSELN(A1;"/";""))
oder
=WENNFEHLER(WERT(WECHSELN(A1;"/";""));"")

Dann kannst Du in A1 mit oder ohne / eingeben.

Gruß
Carlos
Post by Ralf Brinkmann
Hallo Claus!
Post by Claus Busch
Post by Ralf Brinkmann
Das hatte ich schon probiert. Gib mal spaßeshalber "9/14" oder "127/13"
ein. :-)
so sollst du es ja auch nicht eingeben. Wenn du den Schrägstrich
eingibst, nimmt Excel das als Datum.
Gebe einfach 914 oder 12713 ein.
Ach SO! Wie kann ich das nur meinen ONUs eintrichtern!?
Eine Lösung mit Strich fällt Dir also auch nicht ein? So im Stil von
000"/"JJ
?
Gruß, Ralf
Claus Busch
2014-03-10 14:30:14 UTC
Permalink
Hallo Carlos,
Post by Carlos Naplos
Private Sub Worksheet_Change(ByVal Target As Range)
dein Worksheet_Change-Ereignis funktioniert aber auch nicht, wenn der
Schrägstrich mit eingegeben wurde.


Mit freundlichen Grüßen
Claus
--
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3
Carlos Naplos
2014-03-10 15:15:44 UTC
Permalink
Hallo Claus

In der Tat habe ich nicht bedacht, dass auch hier bei einigen Eingaben
die Eingabezelle als Text formatiert sein muss.

Dann funktioniert die Eingabe aber auch, wenn der Schrägstrich mit
eingegeben wird. (Wenn ich mich nicht irre :-)

Mit freundlichen Grüßen
Carlos
Post by Claus Busch
Hallo Carlos,
Post by Carlos Naplos
Private Sub Worksheet_Change(ByVal Target As Range)
dein Worksheet_Change-Ereignis funktioniert aber auch nicht, wenn der
Schrägstrich mit eingegeben wurde.
Mit freundlichen Grüßen
Claus
Carlos Naplos
2014-03-10 15:22:06 UTC
Permalink
p.s.

Auch ein

If Target.Cells.Count <> 1 Then Exit Sub

wäre vonnöten, sonst schmiert das Makro ab, wenn mehrere Zellen in
Spalte A geändert, z.B. gelöscht werden.
Post by Ralf Brinkmann
Hallo Claus
In der Tat habe ich nicht bedacht, dass auch hier bei einigen Eingaben
die Eingabezelle als Text formatiert sein muss.
Dann funktioniert die Eingabe aber auch, wenn der Schrägstrich mit
eingegeben wird. (Wenn ich mich nicht irre :-)
Mit freundlichen Grüßen
Carlos
Post by Claus Busch
Hallo Carlos,
Post by Carlos Naplos
Private Sub Worksheet_Change(ByVal Target As Range)
dein Worksheet_Change-Ereignis funktioniert aber auch nicht, wenn der
Schrägstrich mit eingegeben wurde.
Mit freundlichen Grüßen
Claus
Claus Busch
2014-03-10 16:05:53 UTC
Permalink
Hallo Carlos,
Post by Carlos Naplos
Dann funktioniert die Eingabe aber auch, wenn der Schrägstrich mit
eingegeben wird. (Wenn ich mich nicht irre :-)
darum geht es ja. Ralf glaubt nicht, dass er den Bearbeitern die Eingabe
ohne Slash angewöhnen kann.
Dann kann er es auch mal so probieren:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Or _
Target.Count > 1 Then Exit Sub

Range("A:A").NumberFormat = "@"
Application.EnableEvents = False
On Error GoTo EventsOn
With Target
If .NumberFormat = "DD. MMM" Then
.Value = Format(Day(.Value), "000") & "/" _
& Format(Month(.Value), "00")
ElseIf .NumberFormat = "MMM YY" Then
.Value = Format(Month(.Value), "000") & "/" _
& Format(Year(.Value), "00")
ElseIf .NumberFormat = "@" Then
Target = Format(Left(.Value, InStr(.Value, "/") - 1), "000") _
& "/" & Format(Mid(.Value, InStr(.Value, "/") + 1, 2), "00")
End If
End With
EventsOn:
Application.EnableEvents = True
End Sub


Mit freundlichen Grüßen
Claus
--
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3
Ralf Brinkmann
2014-03-10 18:29:12 UTC
Permalink
Hallo Claus!
Post by Claus Busch
darum geht es ja. Ralf glaubt nicht, dass er den Bearbeitern die Eingabe
ohne Slash angewöhnen kann.
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A:A")) Is Nothing Or _
Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
On Error GoTo EventsOn
With Target
If .NumberFormat = "DD. MMM" Then
.Value = Format(Day(.Value), "000") & "/" _
& Format(Month(.Value), "00")
ElseIf .NumberFormat = "MMM YY" Then
.Value = Format(Month(.Value), "000") & "/" _
& Format(Year(.Value), "00")
Target = Format(Left(.Value, InStr(.Value, "/") - 1), "000") _
& "/" & Format(Mid(.Value, InStr(.Value, "/") + 1, 2), "00")
End If
End With
Application.EnableEvents = True
End Sub
So viel Aufwand für so eine kleine Liste. :-) Funktioniert aber.
Zumindest, so lange keiner auf die Idee kommt, hinten die Jahreszahl
vierstellig ausschreiben zu wollen.

Bei der Gelegenheit habe ich übrigens mal wieder gemerkt, dass es mit
der Benutzung der alten Tastenkürzel nicht weit her ist. "ALT-D, U"
bringt eine ungeahnte Wirkung. Und einige Tastenkürzel gibt es gar nicht
mehr.

(Wir sind am Donnerstag von Office 2003 auf 2010 umgestellt worden und
ich fluche jetzt jeden Tag)

Gruß, Ralf
--
Windows 7x64
Opera 21.x Dev.
The Bat! Pro 6.3.x Alpha
Claus Busch
2014-03-10 18:36:13 UTC
Permalink
Hallo Ralf,
Post by Ralf Brinkmann
(Wir sind am Donnerstag von Office 2003 auf 2010 umgestellt worden und
ich fluche jetzt jeden Tag)
das vergeht bald. Ich finde die neuen Versionen besser als die alten.
Für den Umstieg schau mal hier (Es ist zwar für 2007, aber in der
Bedienung hat sich nichts gegenüber 2010 geändert):
http://office.microsoft.com/assistance/asstvid.aspx?assetid=XT101493291031&vwidth=1044&vheight=788&type=flash&CTT=11&Origin=HA101491511031
Und hier dann noch die Tastenkürzel:
http://office.microsoft.com/de-de/excel-help/multifunktionsleiste-hilfe-und-andere-microsoft-office-tastenkombinationen-HA010168081.aspx?pid=CH100947761031
http://office.microsoft.com/de-de/excel-help/tastenkombinationen-und-funktionstasten-in-excel-HP010073848.aspx?pid=CH100947761031


Mit freundlichen Grüßen
Claus
--
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3
Ralf Brinkmann
2014-03-10 19:12:26 UTC
Permalink
Hallo Claus!
Post by Claus Busch
Post by Ralf Brinkmann
(Wir sind am Donnerstag von Office 2003 auf 2010 umgestellt worden und
ich fluche jetzt jeden Tag)
das vergeht bald. Ich finde die neuen Versionen besser als die alten.
Unser Praktikant freut sich ebenfalls. Die haben in der Schule nie etwas
anderes benutzt und jetzt findet er sich zurecht, im Gegensatz zu
vorher.
Post by Claus Busch
Für den Umstieg schau mal hier
Sehr schön, aber leider sind bei uns in der Arbeit sämtliche aktiven
Inhalte gesperrt. Wenn man überhaupt Internetzugang hat. Aber ich werde
es jetzt zuhause auswendig lernen! :-)
Post by Claus Busch
(Es ist zwar für 2007, aber in der Bedienung hat sich nichts gegenüber
Na ja, stimmt vielleicht nicht ganz. Mein Chef fragte mich neulich, wie
man denn jetzt das Fenster fixiert. Ich sagte "ALT-F, F". Hat aber nicht
funktioniert, weil es jetzt nicht mehr "Fenster fixieren" heißt, sondern
"Fenster einfrieren".
Post by Claus Busch
http://office.microsoft.com/assistance/asstvid.aspx?assetid=XT101493291031&vwidth=1044&vheight=788&type=flash&CTT=11&Origin=HA101491511031
http://office.microsoft.com/de-de/excel-help/multifunktionsleiste-hilfe-und-andere-microsoft-office-tastenkombinationen-HA010168081.aspx?pid=CH100947761031
http://office.microsoft.com/de-de/excel-help/tastenkombinationen-und-funktionstasten-in-excel-HP010073848.aspx?pid=CH100947761031
Danke, werde ich mir auf jeden Fall mal irgendwo abspeichern.

Gruß, Ralf
--
Windows 7x64
Opera 21.x Dev.
The Bat! Pro 6.3.x Alpha
Lesen Sie weiter auf narkive:
Loading...