online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon netmx vom 30.03.2021, 15:40 Options

Lösung

Frage zu Datum

Hallo Leute,

habe eine Frage. In eine Zelle (A1) soll das Jahr eingeben werden, das muss ich danach automatisch in andere Datumszellen übernehmen (dort steht dann 01.01.A1, 31.01.A1, ...).
Wie kann ich das bewerkstelligen?

LG Ricardo


Antwort schreiben

Antwort 21 von netmx vom 16.04.2021, 14:54 Options

Hallo Rainer,

du hast mir sehr geholfen!
Tausend Dank!

LG Ricardo

Antwort 22 von netmx vom 16.04.2021, 15:05 Options

Eine Frage habe ich jedoch noch:

Wenn der Benutzer in A1 versehentlich einen Buchstaben miteingibt, meldet Excel einen Fehler und bricht das Makro ab, Excel muss dann neu gestartet werden damit es wieder klappt.
Kann ich das irgendwie abgfangen, damit so etwas nicht passiert?

LG Ricardo

Antwort 23 von rainberg vom 16.04.2021, 15:52 Options

Hallo Ricardo,

hier die Änderung

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngC As Range, rngBer As Range
    Application.EnableEvents = False
    Set rngBer = Range("I3:J14")
    If IsNumeric(Target.Value) Then
        If Not Intersect(Target, rngBer) Is Nothing Then
            Target.Value = CDate(Left(Target, 2) & "." & Mid(Target, 4, 2) & "." & Range("A1").Value)
        ElseIf Not Intersect(Target, Range("A1")) Is Nothing Then
            For Each rngC In rngBer
                If rngC.Value <> "" Then
                    rngC.Value = CDate(Day(CDate(rngC)) & "." & Month(CDate(rngC)) & "." & Range("A1").Value)
                End If
            Next
        End If
    Else
        MsgBox "Falscheingabe"
        Application.EnableEvents = True
        Exit Sub
    End If
    Application.EnableEvents = True
End Sub


Gruß
Rainer

Antwort 24 von netmx vom 17.04.2021, 09:39 Options

Hallo Rainer,

das ist echt cool :)
Ein Manko: wenn ich nun Daten im Bereich I3:J14 ändere, kommt die Fehlermeldung "Falscheingabe" auch. Sie soll allerdings nur bei Falscheingabe im Feld A1 erscheinen.

LG Ricardo

Antwort 25 von netmx vom 28.04.2021, 14:09 Options

Hallo,

bislang konnte mir niemand eine Antwort geben. Kann man den Code dahingehend abändern dass nur bei einer Falscheingabe in A1 die Fehlermeldung kommt und nicht im ganzen Dokument?

LG Ricardo

Antwort 26 von rainberg vom 28.04.2021, 14:57 Options

Hallo Ricardo,

manchmal hat man eben keine Lust mehr auf eine Antwort, auch wenn es über den Pager versucht wird.

Hättest Du von Anfang an, unmissverständlich geschildert, was Du vor hast und nicht scheibchenweise immer einen Wunsch mehr hinzugefügt, könnten wir schon lange am Ziel sein.

Ich war der Meinung, dass Du im Bereich nichts zu ändern hast und wenn doch, ist es doch nicht zu viel Arbeit eine Msg-Box mal weg zu klicken.

Wie dem auch sei, versuch's mal so:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngC As Range, rngBer As Range
    Application.EnableEvents = False
    Set rngBer = Range("I3:J14")
    If IsNumeric(Target.Value) Then
        If Target.Count = 1 Then
            If Not Intersect(Target, rngBer) Is Nothing Then
                Target.Value = CDate(Left(Target, 2) & "." & Mid(Target, 4, 2) & "." & Range("A1").Value)
            ElseIf Not Intersect(Target, Range("A1")) Is Nothing Then
                For Each rngC In rngBer
                    If rngC.Value <> "" Then
                        rngC.Value = CDate(Day(CDate(rngC)) & "." & Month(CDate(rngC)) & "." & Range("A1").Value)
                    End If
                Next
            End If
    Else
        MsgBox "Falscheingabe"
        Application.EnableEvents = True
        Exit Sub
        End If
    End If
    Application.EnableEvents = True
End Sub


Gruß
Rainer

Antwort 27 von netmx vom 05.05.2021, 14:42 Options

Hallo Rainer,

tut mir leid dass ich etwas nervig war und die Fragestellung nicht klar war. Ich wusste am Anfang noch nicht, wie ich diese Tabelle gestalten soll, deswegen sind diese Fragen auch erst nach und nach aufgetaucht.
Ich möchte mich rechtherzlich bei dir für die kompetente Hilfe bedanken, du hast mir wirklich sehr geholfen. Menschen wie du sind die Grundlage für ein Forum wie dieses. Nochmals vielen Dank für deine Hilfsbereitschaft!

Dein VBA-Script ist fast perfekt, was mir noch fehlt ist folgendes: Die Fehlermeldung erscheint leider nicht mehr. Wenn ich ein Datum vom 30. auf den 31. abändere (wenn es in diesem Monat keinen 31. gibt - kann dem Benutzer ja mal passieren) bricht das Script mit "Laufzeitfehler 13" ab. Mein Wunsch ist, dass es eine Fehlermeldung, z..B. "Datum Fehlerhaft" ausgibt und das Script nicht gestoppt wird.

Würde mich sehr über eine Antwort von dir freuen!

Liebe Grüße,
Ricardo

Antwort 28 von rainberg vom 05.05.2021, 15:27 Options

Hallo Ricardo,

für Deine erneute Anfrage bin ich nicht mehr der richtige Ansprechpartner, da ich VBA eigentlich nur für den Hausgebrauch beherrsche.
Leider lasse ich mich hin und wieder dazu hinreißen auch mal eine VBA-Frage zu beantworten, so auch in Deinem Falle.

Hätte ich allerdings von Anfang an gewusst, wie sich Dein Problem entwickelt, hätte ich das Makro gleich anders aufgebaut oder gar die Finger davon gelassen.
Deshalb auch die Kritik an Deiner Fragestellung.

Meine generelle Meinung zu Deinem Problem ist, dass ich ganz auf VBA verzichten und die Daten als vollständiges Datum eingeben würde, wie es sich eigentlich auch gehört.
Du ersparst Dir damit unnötigen Ärger, wenn das Makro mal aussteigt und Du selbst nicht in der Lage bist, die Sache wieder zu richten.

Aber vielleicht sieht es jemand anders als ich und hilft Dir weiter.

Gruß
Rainer

Antwort 29 von netmx vom 05.05.2021, 16:02 Options

Hallo Rainer,

danke für deine Antwort. Ich versuche es nun anders zu lösen.

Gruß Ricardo

Antwort 30 von netmx vom 06.05.2021, 09:17 Options

Hallo Rainer,

darf ich den von dir geschriebenen Code ggf. in einem anderen Forum veröffentlichen?

LG Ricardo

Antwort 31 von rainberg vom 06.05.2021, 09:46 Options

Hallo Ricardo,

Du darfst alles veröffentlichen was kein Copyright enthält.

Gruß
Rainer

Antwort 32 von Mickey vom 06.05.2021, 09:52 Options

@rainberg,
kurzer Einspruch: das ist zu pauschal. Ein Urheberrecht entsteht automatisch mit der Schaffung eines Werkes, ein Copyrightzusatz ist da nicht mehr erforderlich. Also einfach Beiträge aus Foren oder Webseiten wahllos hin- und her kopieren sollte ihm so nicht geraten werden.

Gruss,
Mic

Bei Eingriffen ins System, die Registry oder Dateien erst eine Sicherung vornehmen©

Antwort 33 von netmx vom 06.05.2021, 10:21 Options

Genau, deswegen frage ich Rainer um Erlaubnis, da das Copyright bei ihm liegt.

LG Ricardo

Antwort 34 von rainberg vom 06.05.2021, 10:53 Options

na gut, dann revidiere ich mich und gebe meinen Code für den gesamten Erdball frei :-))

Gruß
Rainer

Antwort 35 von netmx vom 06.05.2021, 11:25 Options

Danke!

LG Ricardo

Ähnliche Themen

Datum umwandeln
morpheus__85  12.11.2007 - 124 Hits - 2 Antworten

Datum im Format Standart ändern in Datum Format TT.MM.JJJJ
offi  27.11.2007 - 197 Hits - 4 Antworten

von einem Datum auf ein Datum runden
TheBluebird  07.03.2008 - 77 Hits - 4 Antworten

Datum atomatisch
eier  24.03.2008 - 97 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 11:26:25 2026