Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
28.06.2024, 12:56 (Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2024, 12:58 von ich2110.)
(28.06.2024, 12:05){Boris} schrieb: Hi,
woher werden Monat und Jahr bezogen?
Hallo Boris,
die muss ich per Hand eintragen.
Ich dachte an etwas über "suchen" - "ersetzen" evtl. möglich? Allerdings, wenn ich da die verschiedenen Schritte ausführen muss, ist das auch umständlich.
Vielleicht fällt Dir dazu ja noch etwas ein.
Liebe Grüße Ingrid weg4u.de • Der Tod kommt ohne Termin!
gibt dein Datum als "1-7-17" oder "1/7/17" ein. Das kannst du alles blind auf dem Zehnerblock machen. Wenn es das aktuelle Jahr sein soll, dann reicht auch "1-7". Und beim aktuellen Tag reicht Strg-. (Steuerung-Punkt).
Noch schneller wird es bei wechselnden Daten nicht gehen.
ich weiss nicht ob meine Idee die einfachste und schnellste ist?? Bitte einfach mal testen. gib in die Datumszeile immer nur den Wert des nächsten Tages ein. Und schau was passiert.
Zur Zeit steht die Zeile auf dem 17.09.17. Gibst du 0 ein wird das vorige Datum wiederholt! Gibst du 1,2,3 ein wird dieser Wert zum Vortag dazu addiert. Und die Spalte A mit ausgefüllt. Das Makro füllt dir also 2 Spalten aus. Du musst nur ab und zu Spalte A von Hand korrigieren. Sollte das Makro gelegentlich versagen wird das auch kein Beinbruch sein.
gibt dein Datum als "1-7-17" oder "1/7/17" ein. Das kannst du alles blind auf dem Zehnerblock machen. Wenn es das aktuelle Jahr sein soll, dann reicht auch "1-7". Und beim aktuellen Tag reicht Strg-. (Steuerung-Punkt).
Noch schneller wird es bei wechselnden Daten nicht gehen.
Hallo,
ich hatte es mir schon so gedacht.
Danke aber für den Hinweis.
Für mich ist das Zahlenfeld nicht so gut, da ich 10 Finger blind schreibe und die Tasten oben mir da besser liegen. Aber - oder / kann ich auch da eingeben.
Das mit den aktuellen Daten kannte ich nicht und das hilft mir dann, wenn ich in 2024 angekommen bin.
Liebe Grüße Ingrid weg4u.de • Der Tod kommt ohne Termin!
ich weiss nicht ob meine Idee die einfachste und schnellste ist?? Bitte einfach mal testen. gib in die Datumszeile immer nur den Wert des nächsten Tages ein. Und schau was passiert.
Zur Zeit steht die Zeile auf dem 17.09.17. Gibst du 0 ein wird das vorige Datum wiederholt! Gibst du 1,2,3 ein wird dieser Wert zum Vortag dazu addiert. Und die Spalte A mit ausgefüllt. Das Makro füllt dir also 2 Spalten aus. Du musst nur ab und zu Spalte A von Hand korrigieren. Sollte das Makro gelegentlich versagen wird das auch kein Beinbruch sein.
mfg Gast 123
Hallo lieber Gast,
ich stehe bei der Anleitung echt auf dem "berühmten Schlauch".
Ich habe mir die Datei heruntergeladen und ich habe versucht in Spalte B - Zeile 343 - eine 0 eingegeben. Erschienen ist: 00.01.00
Gebe ich eine andere Zahl ein, erscheint analog: 2 = 02.01.00 oder 7 = 07.01.00
Ich habe es auch in Spalte C versucht - Zeile 43: 0 eingegeben Erschienen ist: 00.01.1900
Gebe ich andere Zahlen ein z. B. 7, dann wie vor 07.01.1900 eben nur statt 00 = 1900
Sorry, aber ich weiß leider nicht weiter.
Liebe Grüße Ingrid weg4u.de • Der Tod kommt ohne Termin!
Hi, ein kleines Helferlein. Wenn du komplett eingibts passiert nichts. Wenn du nur eine Zahl eingibts, wird das Datum von der Zelle oben drüber genommen um monat und Jahr hinzuzufügen, Den Code in das Codemodul deines Arbeitsblattes einfügen. Dann wird Spalte B bearbeitet. wilst du andere Spalte oder mehr musst du die Zeile mit target.column anpassen.
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 2 Then Exit Sub ' wenn icht spalte Spalte b dann weg If Target.Row < 2 Then Exit Sub ' in erster Zeile nicht If Len(Target.Value2) > 2 Then Exit Sub ' Wenn man ein Datum komplett eingibt wegen Monats oder Jahreswechsel If Not IsDate(Target.Offset(-1, 0).Value) Then Exit Sub ' WEnn keine Datum darüber dann kann es nicht funkitionieren Target.Value2 = DateSerial(Year(Target.Offset(-1, 0).Value2), Month(Target.Offset(-1, 0).Value2), Target.Value2) Target.NumberFormat = Target.Offset(-1, 0).NumberFormat End Sub