Office: (Office 365) VBA: Datum automatisch hinzufügen nach Übertrag

Helfe beim Thema VBA: Datum automatisch hinzufügen nach Übertrag in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe ein Makro gebaut, welches die Daten aus dem Tabellenblatt Bestellformular kopiert und diese in ein anderes Tabellenblatt... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von BratislavMetulski, 8. Juni 2022.

  1. VBA: Datum automatisch hinzufügen nach Übertrag


    Hallo zusammen,

    ich habe ein Makro gebaut, welches die Daten aus dem Tabellenblatt Bestellformular kopiert und diese in ein anderes Tabellenblatt (Bestellhistorie) überträgt, wobei zusätzlich in der Bestellhistorie das Datum ergänzt werden soll.

    Status Quo: Das Kopieren der Zeilen funktioniert reibungslos, allerdings möchte ich bei jeder gefüllten Zeile das Datum in die nächste freie Spalte (in diesem Falle I) eintragen.

    Problem: Aktuell wird das Datum nur in die nächste freie Zelle der Spalte I eingetragen.

    Bereits vergeblich getestet: Das Datum per Change Event einzufügen klappt leider nicht ohne weiteres, da alle Zeilen statisch von 8 bis 50 kopiert werden und somit auch leere Zeilen mit einem Datum versehen werden.

    Meine Überlegung wäre eine Art Schleife, bei der jede Zelle abgefragt wird, ob diese gefüllt ist und falls ja das Datum eingetragen wird. Allerdings konnte ich bislang in den Foren keine, für meinen Fall, funktionierenden Ansatz finden - hat hier jemand vielleicht noch eine Idee?


    Dim Auftrag As Worksheet
    Dim Historie As Worksheet

    Set Auftrag = ThisWorkbook.Worksheets("Bestellformular")
    Set Historie = ThisWorkbook.Worksheets("Bestellhistorie")

    Auftrag.Range("C8:C50").Copy
    Historie.Range("H" & Historie.Cells(Historie.Rows.Count, 8).End(xlUp).Row + 1).PasteSpecial _
    Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False


    Historie.Cells(Rows.Count, 9).End(xlUp).Offset(1).Value = Date



    Besten Dank im voraus!
     
    BratislavMetulski, 8. Juni 2022
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    versuche es mal so (ungetestet):

    Code:
    Historie.Cells(Rows.Count, 8).End(xlUp).Offset(0, 1).Value = Date

    VBA: Datum automatisch hinzufügen nach Übertrag GrußformelVBA: Datum automatisch hinzufügen nach Übertrag Beverly's Excel - Inn
     
    Beverly, 8. Juni 2022
    #2
  3. Hi Beverly,

    vielen Dank für deine Idee! Mit deinem Code wird das Datum allerdings nur in die letzte beschriebene Zeile geschrieben und nicht in alle.
     
    BratislavMetulski, 8. Juni 2022
    #3
  4. Beverly
    Beverly Erfahrener User

    VBA: Datum automatisch hinzufügen nach Übertrag

    Hi,

    da habe ich dich falsch verstanden.
    Mit folgendem Code werden alle kopierten Zeilen durchlaufen und geprüft ob die Zelle nicht leer ist:

    Code:
    Dim Auftrag As Worksheet
    Dim Historie As Worksheet
    Dim lngLetzte As Long
    Dim lngZeile As Long
    Set Auftrag = ThisWorkbook.Worksheets("Bestellformular")
    Set Historie = ThisWorkbook.Worksheets("Bestellhistorie")
    With Historie
        lngLetzte = .Range("H" & .Cells(Rows.Count, 8).End(xlUp).Row + 1).Row
        Auftrag.Range("C8:C50").Copy
        .Cells(lngLetzte, 8).PasteSpecial _
            Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        For lngZeile = lngLetzte To lngLetzte + 51
            If .Cells(lngZeile, 8) <> "" Then .Cells(lngZeile, 9) = Date
        Next lngZeile
    End With
    Application.CutCopyMode = False
    
    Weshalb willst du eigentlich auch leere Zeilen kopieren?

    Bis später, Karin
     
    Beverly, 8. Juni 2022
    #4
    1 Person gefällt das.
  5. Funktioniert super :) Danke für die super schnelle Unterstützung!

    Zu den leeren Zeilen: mangels besseren Wissens kopiere ich auch die leeren Zeilen. Das geht sicherlich eleganter, aber damit wollte ich mir aber zusätzliche Kopfschmerzen bereiten und schnell Ergebnisse sehen. Verbesserungsvorschläge dazu werden natürlich dankend angenommen :)
     
    BratislavMetulski, 8. Juni 2022
    #5
  6. Beverly
    Beverly Erfahrener User
    Der einfachste Weg ist, in einer Schleife über den Bereich der Zeilen 8 bis 50 zu laufen und zu prüfen, ob die Zelle nicht leer ist:

    Code:
    Dim Auftrag As Worksheet
    Dim Historie As Worksheet
    Dim lngLetzte As Long
    Dim lngZeile As Long
    Set Auftrag = ThisWorkbook.Worksheets("Bestellformular")
    Set Historie = ThisWorkbook.Worksheets("Bestellhistorie")
    With Historie
        lngLetzte = .Range("H" & .Cells(Rows.Count, 8).End(xlUp).Row + 1).Row
        For lngZeile = 8 To 50
            If Auftrag.Cells(lngZeile, 3) <> "" Then
                .Cells(lngLetzte, 8) = Auftrag.Cells(lngZeile, 3).Value '<== nur Wert übernehmen
                .Cells(lngLetzte, 9) = Date
                lngLetzte = lngLetzte + 1  '<== Zielzeile um 1 erhöhen
            End If
        Next lngZeile
    End With
    


    VBA: Datum automatisch hinzufügen nach Übertrag GrußformelVBA: Datum automatisch hinzufügen nach Übertrag Beverly's Excel - Inn
     
    Beverly, 8. Juni 2022
    #6
    1 Person gefällt das.
  7. Hui, das ist ja doch relativ simpel - funktioniert, tausend Dank!
     
    BratislavMetulski, 9. Juni 2022
    #7
Thema:

VBA: Datum automatisch hinzufügen nach Übertrag

Die Seite wird geladen...
  1. VBA: Datum automatisch hinzufügen nach Übertrag - Similar Threads - VBA Datum automatisch

  2. Tabellenübersicht aus mehreren Tabellen nach Datum sortieren

    in Microsoft Excel Hilfe
    Tabellenübersicht aus mehreren Tabellen nach Datum sortieren: Hallo, ich habe eine Tabelle für die Autowartung erstellt und möchte nun eine Übersichtseite als "Deckblatt" erstellen auf dem man alle wichtigen Daten sehen kann. Es gibt für alles auf einem...
  3. Copy and Paste unter bestimmten Bedingungen VBA

    in Microsoft Excel Hilfe
    Copy and Paste unter bestimmten Bedingungen VBA: Hallo, ich bin recht neu und habe ein kleines Problemchen, bei welchem ich keinerlei Lösungsansatz habe. Ich vermute, dies kann in irgendeiner Art und Weise ggf. über eine Art Sverweis im Makro...
  4. Heute-Datum -2 Werktage automatisch einfügen ? VBA

    in Microsoft Excel Hilfe
    Heute-Datum -2 Werktage automatisch einfügen ? VBA: Hallo zusammen, ich bin ein Neuling was VBA angeht und habe folgendes Problem: Wenn ich meine Exceldatei öffne, soll in Tabellenblatt 1-3 jeweils in Zelle A1 das Heute Datum minus 2 Werktage...
  5. Jahresübersicht "Abwesenheit" mit aktuellem Datum per VBA auswerten

    in Microsoft Excel Hilfe
    Jahresübersicht "Abwesenheit" mit aktuellem Datum per VBA auswerten: Guten Abend Vielleicht kann mir jemand, da ich VBA Anfänger bin, bei meiner Tabelle helfen. In dem Tabellenblatt "Jahresübersicht" werden aus mehreren Abteilungen Daten zusammengefasst. Um eine...
  6. Code unterscheidet manuell eingetragenes Datum von VBA-Eintrag

    in Microsoft Excel Hilfe
    Code unterscheidet manuell eingetragenes Datum von VBA-Eintrag: Hallo ihr da draußen, ich habe einen kleinen VBA-Code, mit dem ich ein Datum (17.05.2020) in Zelle J20 eintrage und darunter bis Zeile J30 immer einen Tag weiter (18.05.2020, 19.05.2020 usw.)...
  7. Excel VBA Datum vergleichen

    in Microsoft Excel Hilfe
    Excel VBA Datum vergleichen: Hallo, ich habe folgendes Problem: ich will ein Datumsbereich vergleichen z.B. Spalte I ist ein Datum "04.01.2020" eingetragen. In Spalte J "18.04.2021". In ein neuen Tabellenblatt ist dann...
  8. Excel vba automatische Datumsabfrage beim öffnen

    in Microsoft Excel Hilfe
    Excel vba automatische Datumsabfrage beim öffnen: Hallo an alle die sich besser mit vba auskennen als ich (was nicht schwer ist) Ich habe mir ein Projekt aufgehalst, welches meine vba Kenntnis in vielen Fällen überschreitet. Durch Hilfe bin...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden