Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datum: Datumswerte in andere Zellen übertragen

Datum: Datumswerte in andere Zellen übertragen
13.12.2008 13:09:00
erbse
Hallo,
leider hilft mir der Code aus dem Macrorecorder nicht wirklich weiter. Zumindest funktioniert er nicht.
Folgendes Problem:
In einer Spalte (z.B. A:A) befinden sich Datumswerte im Format "tt.mm.jjjj" als Text (Import aus externer Datei). Nun möchte ich für alle Zeilen, in denen sich in A:A ein Datum befindet, in Spalte B:B die Kalenderwoche, in Spalte C:C den Monat (mm) und in Spalte C:C das Jahr (jjjj) ausgeben lassen.
Die Tabelle besitzt auch einen Tabellenkopf mit Spaltenüberschriften.
Könnt Ihr mir bitte helfen?
Leider sind meine VBA-Kenntnisse sehr bescheiden.
Natürlich könnte ich auch bei jedem Hinzufügen neuer Daten die entsprechenden simplen Excel-Formeln, z.B. =Kalenderwoche(A1;2), weiter herunterkopieren, aber ich denke mit VBA könnte das viel effektiver funktionieren?
mit freundlichen Grüßen
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum: Datumswerte in andere Zellen übertragen
13.12.2008 13:12:00
Hajo_Zi
Halo Nick,
die Augaben sind alles Probleme die nicht über VBA gelöst werden müssen.
Als erstes wenn() Monat mit Monat(A1) Kalenderwoche
Oder im Register von WF
http://www.excelformeln.de/formeln.html?welcher=7
Warum muß es so eine komplizierte Formel sein Erklärung von WF
Die Funktion KALENDERWOCHE rechnet falsch oder sagen wir es gnädiger: nach amerikanischem Standard. Der 01.01.2000 z.B. ist laut DIN die 52. KW des Jahres 1999; - in den USA die erste im Jahre 2000. Das hab ich mir irgendwann mal kopiert:
Erst 1976 wurde der Wochenbeginn auf Montag festgelegt. Die erste Woche des Jahres ist definiert als die Woche, in die mindestens 4 Tage fallen. Beides = DIN 1355 (1974) Entspricht der internationalen Norm ISO 8601 (1988); -übernommen von der EU als EN 28601 (1992) und in Deutschland als DIN EN 28601 (1993) umgesetzt.
=KÜRZEN((G6-WOCHENTAG(G6;2)-DATUM(JAHR(G6+4-WOCHENTAG(G6;2));1;-10))/7)&". KW"
von WF

Anzeige
AW: Datum: Datumswerte in andere Zellen übertragen
13.12.2008 13:25:00
erbse
Hallo Hajo,
hmm...
das dieses Problem nicht mit VBA gelöst werden muss, ist mir schon klar. Schließlich habe ich oben geschrieben, dass ich die Formeln ebenso gut jedesmal oder auf Vorrat herunterkopieren könnte.
Mein Ansinnen war:
Wie kann ich nach Einfügen neuer Daten in die Tabelle mit dem Aufruf eines Makros automatisiert die Werte in die entsprechenden Zeilen eintragen lassen?
Ich möchte mich mit der Tabelle nicht mehr beschäftigen, als Daten einzufügen, ein Makro aufzurufen um hinterher meine aktualisierten Auswertungen (Ergenbisse) zu "bestaunen".
Vielen Dank für die erste schnelle Antwort.
Viele Grüße nach NB.
Erbse
Anzeige
AW: Datum: Datumswerte in andere Zellen übertragen
13.12.2008 13:26:37
erbse
Oops, frage natürlich noch offen...
AW: Datum: Datumswerte in andere Zellen übertragen
13.12.2008 14:57:00
Tino
Hallo,
versuche es mal mit diesem Code.
Modul Modul1
Option Explicit 
 
Sub Datum_Zerlegen() 
Dim Bereich As Range 
Dim meArea 
Dim A As Long 
Dim Datum As Date 
Set Bereich = Range("A1", Cells(Rows.Count, 1).End(xlUp).Offset(0, 3)) 
meArea = Bereich 
 
For A = 1 To Ubound(meArea) 
 If IsDate(meArea(A, 1)) Then 
  Datum = CDate(meArea(A, 1)) 
  meArea(A, 2) = KW(Datum) 
  meArea(A, 3) = Month(Datum) 
  meArea(A, 4) = Year(Datum) 
 End If 
Next A 
 
Bereich = meArea 
 
End Sub 
 
Function KW(d As Date) As Integer 
Dim t As Variant 
    t = DateSerial(Year(d + (8 - Weekday(d)) Mod 7 - 3), 1, 1) 
    KW = (d - t - 3 + (Weekday(t) + 1) Mod 7) \ 7 + 1 
End Function 


Das Makro Datum_Zerlegen kannst Du über einen Button aufrufen.
Gruß Tino

Anzeige
AW: Datum: Datumswerte in andere Zellen übertragen
13.12.2008 23:55:38
erbse
Vielen Dank Tino!
Genau das ist es!
mit freundlichen Grüßen

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Datumswerte in andere Zellen übertragen


Schritt-für-Schritt-Anleitung

Um Datumswerte aus einer Zelle in andere Zellen zu übertragen, kannst Du die folgende Schritt-für-Schritt-Anleitung nutzen. Diese Anleitung setzt voraus, dass Du Excel 2016 oder eine neuere Version verwendest.

  1. Öffne Deine Excel-Datei und gehe zu dem Arbeitsblatt, in dem Du die Datumswerte übertragen möchtest.
  2. Wähle die Zelle aus, in der sich das Datum befindet (z.B. A1).
  3. Verwende die Formel, um das Datum in eine andere Zelle zu übernehmen. Zum Beispiel, um das Jahr zu extrahieren, kannst Du in Zelle B1 folgende Formel eingeben:
    =JAHR(A1)
  4. Um die Kalenderwoche zu ermitteln, kannst Du in Zelle C1 diese Formel verwenden:
    =KALENDERWOCHE(A1;2)
  5. Für den Monat in Zelle D1 nutze die Formel:
    =MONAT(A1)
  6. Kopiere die Formeln von B1, C1 und D1 nach unten, um die Werte für alle Zeilen zu übernehmen.

Häufige Fehler und Lösungen

  • Problem: Das Datum wird als Text erkannt.
    Lösung: Stelle sicher, dass die Zelle im Datumsformat formatiert ist. Du kannst dies unter "Start" > "Zahlenformat" ändern.

  • Problem: Falsches Jahr wird angezeigt.
    Lösung: Verwende die Formel =JAHR(DATUMWERT(A1)), um sicherzustellen, dass das Datum korrekt interpretiert wird.


Alternative Methoden

Falls Du VBA verwenden möchtest, kannst Du die folgende Methode nutzen, um die Datumswerte automatisiert zu übertragen:

  1. Öffne den Visual Basic for Applications (VBA) Editor (ALT + F11).

  2. Füge ein neues Modul hinzu und kopiere den folgenden Code hinein:

    Sub Datum_Zerlegen()
       Dim Bereich As Range
       Dim meArea
       Dim A As Long
       Dim Datum As Date
    
       Set Bereich = Range("A1", Cells(Rows.Count, 1).End(xlUp))
       meArea = Bereich
    
       For A = 1 To UBound(meArea)
           If IsDate(meArea(A, 1)) Then
               Datum = CDate(meArea(A, 1))
               meArea(A, 2) = KW(Datum)
               meArea(A, 3) = Month(Datum)
               meArea(A, 4) = Year(Datum)
           End If
       Next A
    
       Bereich = meArea
    End Sub
  3. Führe das Makro aus, um die Datumswerte in andere Zellen zu übertragen.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du das Datum in andere Zellen übertragen kannst:

  • Beispiel 1: Wenn in A1 das Datum 15.03.2023 steht, wird in B1 2023, in C1 11 (Kalenderwoche) und in D1 3 (Monat) angezeigt.
  • Beispiel 2: Wenn Du die oben angegebene VBA-Methode verwendest, wird für alle Datumswerte in Spalte A automatisch die Kalenderwoche, der Monat und das Jahr übernommen.

Tipps für Profis

  • Verwende Tastenkombinationen wie CTRL + D, um Formeln schnell nach unten zu kopieren.
  • Formatiere die Zellen mit bedingter Formatierung, um Datumswerte hervorzuheben.
  • Nutze Datumsfunktionen wie DATEDIF() oder EDATUM(), um komplexere Berechnungen durchzuführen.

FAQ: Häufige Fragen

1. Wie kann ich ein Datum aus einer anderen Zelle übernehmen?
Du kannst einfach die Formel =A1 in die Zelle eingeben, in der Du das Datum haben möchtest (z.B. B1).

2. Was tun, wenn das Datum in einer anderen Zeitzone ist?
Du kannst die Zeitzone manuell anpassen, indem Du die Zeit mit der entsprechenden Stundenanzahl addierst oder subtrahierst.

3. Ist es möglich, mehrere Datumswerte gleichzeitig zu übertragen?
Ja, Du kannst die Formeln einfach nach unten kopieren oder ein VBA-Makro verwenden, um alle Datumswerte in einem Schritt zu bearbeiten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige