Grüezi Alfred
Alfred Stadler schrieb am 08.05.2006
Post by Alfred StadlerKomme auf Deinen Tipp zurück: eigentlich suche ich eher nach "undefined
function" des Benutzerdef. Formats, denn die Anzeigeänderung muss in der
Eingabezelle erfolgen. Ich hoffe noch immer auf eine Möglichkeit, ein
Pendant zu "TT.MM.JJ" oder so zu finden.
Das ist so leider nicht möglich; Du musst mit einer Hilfsspalte arbeiten.
Oder Du machst es per VBA und einer Ereignis-Prozedur. Die folgende wandelt
ein in einem definierten Bereich eingetragenes Datum in die entsprechende
Quartalsausgabe um (viel Kommentar ist auch dabei):
Private Sub Worksheet_Change(ByVal Target As Range)
'Target wird auf den sich überschneidenden Bereich gesetzt, um bei
'Mehrfachmarkierungen die ausserhalb des eingeschränkten Bereiches
'liegenden Zellen nicht ebenfalls zu verändern
'Hier den Bereich anpassen
Set Target = Application.Intersect(Target, Range("A1:A10"))
'Wenn nicht innerhalb des Bereiches wird die Prozedur verlassen
If Target Is Nothing Then Exit Sub
'Errorhandling aktivieren, um im Falle eines Fehlers die Ereignisse
'am Ende wieder zu aktivieren
On Error GoTo ErrorHandler
'Ereignisse ausschalten, um das Change-Ereignis nicht erneut auszulösen
Application.EnableEvents = False
'Eine Range-Variable deklarieren
Dim rngZelle As Range
'jede Zelle innerhalb des Target-Bereiches durchlaufen
For Each rngZelle In Target
If IsDate(rngZelle.Value) Then
With rngZelle
.Value = "Q" & (Month(.Value) \ 4) + 1 & Format(.Value, " YYYY")
End With
End If
Next rngZelle
ErrorHandler:
Application.EnableEvents = True 'Ereignisse wieder einschalten
End Sub
Mit freundlichen Grüssen
Thomas Ramel (@work)
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-1]
Microsoft Excel - Die ExpertenTipps:
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)