Anzeige
Archiv - Navigation
1528to1532
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

Datum Formattierung Kalenderwoche/Tag

Datum Formattierung Kalenderwoche/Tag
06.12.2016 16:11:42
Christian
Hallo,
aus Gründen der Übersichtlichkeit ist in einer Terminverfolgungsmatrix das anzuzeigende Format vorgegeben (KWXX/D) also z. B. KW12/5 für Freitag der KW12 (nach ISO 8601). Da übergeordnete Termine als Maximum berechnet werden sollen ist es erforderlich, dass das Datum hinterlegt ist.
Ist es möglich - ohne Hilfsspalten - ein Datum in ein Feld einzutragen und dieses im gewünschten Format anzuzeigen? Im Stile von Benutzerdefiniertem Format "TT.MM" oder bedingter Formattierung.
Danke für die Hilfe!
Gruß,
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum Formattierung Kalenderwoche/Tag
06.12.2016 16:22:06
UweD
Nein,
entweder VBA...
oder Hilfsspalte

Tabelle1
 CD
219.02.2016KW07/5

wobei du die Eingabespalte für das Datum ganz schmol machen kannst.

Tabelle1
 CD
2KW07/5

verwendete Formeln
Zelle Formel Bereich N/A
D2=TEXT(KALENDERWOCHE(C2;21);"KW00")&"/" &WOCHENTAG(C2;2)  
http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 21.10 einschl. 64 Bit


LG UweD
Anzeige
AW: Datum Formattierung Kalenderwoche/Tag
06.12.2016 16:35:42
UweD
per VBA
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Diesen Code dort reinkopieren
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Fehler
    If Not Intersect(Range("C:C"), Target) Is Nothing Then
        If Target.Count > 1 Then
            MsgBox "bitte einzeln bearbeiten"
        Else
            If Not IsDate(Target) Then
                MsgBox "kein Datum"
            Else
                With Application
                    .EnableEvents = False
                    Target = "KW" & Format(.WeekNum(Target, 21), "00") _
                        & "/" & .Weekday(Target, 2)
                End With
            End If
        End If
    End If
    '*** Fehlerbehandlung 
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Hier mal Eingaben in Spalte C überwacht
LG UweD
Anzeige
AW: Datum Formattierung Kalenderwoche/Tag
07.12.2016 08:34:12
Christian
Danke Uwe,
Ok, hatte ich so auch vermutet nach bisheriger Recherche. Schade.
Ist leider nicht praktikabel mit Hilfsspalten. Wird von etlichen Nutzern gefüllt und hat über 30 Spalten, die dann gedoppelt würden. Kann den Nutzern nicht zumuten zum Eintragen, die schmalen bzw. ausgeblendeten Spalten zu nutzen.
Das Makro löscht die Information zum Datum, dadurch lässt sich der späteste Termin nicht mehr sicher ermitteln. Eventuell werde ich was Ähnliches zusammen basteln mit einer hinterlegten, unsichtbaren Tabelle, in der das Datum gespeichert wird. Ist aber auch Kanonen auf Spatzen :(
Gruß,
Christian
Anzeige
AW: Datum Formattierung Kalenderwoche/Tag
07.12.2016 10:04:59
UweD
Hallo
du könntest den Eingabewert als Kommentar in die Zelle einfügen...
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Fehler
    If Not Intersect(Range("C:C"), Target) Is Nothing Then
        If Target.Count > 1 Then
            MsgBox "bitte einzeln bearbeiten"
        Else
            If Not IsDate(Target) Then
                MsgBox "kein Datum"
            Else
                With Application
                    'Merken in Kommentar 
                    Target.ClearComments
                    Target.AddComment
                    Target.Comment.Text Text:=Target.Text

                    'umwandeln in KW 
                    .EnableEvents = False
                    Target = "KW" & Format(.WeekNum(Target, 21), "00") _
                        & "/" & .Weekday(Target, 2)
                End With
            End If
        End If
    End If
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub


LG UweD
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige