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. Datum einer Datei per VBA auslesen

    in Microsoft Access Hilfe
    Datum einer Datei per VBA auslesen: Hallo, ich möchte mit Access VBA das Änderungsdatum einer Excel-Datei auslesen. Hat vielleicht einer eine Idee oder so etwas schon mal gemacht? Über jede Hilfe wäre ich sehr dankbar. liebe Grüße...
  3. PDF mit Namen,Datum speichern im Zielordner

    in Microsoft Excel Hilfe
    PDF mit Namen,Datum speichern im Zielordner: Hallo, habe das Problem den Namen in Zelle D2, Vorname in Zelle D5 , das Datum steht in der Zelle B 10 und soll beim speichern so angezeigt werden (Max Mustermann 2023 Oktober) wie und wo muß ich...
  4. Datum und Tag in Tabellenreiter einragen VBA

    in Microsoft Excel Hilfe
    Datum und Tag in Tabellenreiter einragen VBA: Ich habe ein VBA das mir im Tabellenblatt das Format zB. "08.08.2023" auswirft. Sub BlätterEinfügen() Dim Last As Integer, i As Integer Application.ScreenUpdating = False With ActiveSheet Last =...
  5. VBA Zeitdifferenz ermitteln

    in Microsoft Excel Hilfe
    VBA Zeitdifferenz ermitteln: Hallo zusammen, ich kriege es einfach nicht hin, kann mir bitte jemand helfen? Gegeben: Ein Excelsheet mit zwei Einträgen: A2=Datum/Zeit : 22.03.2023 19:05:32 B2=Zeit: 19:04:23 Gesucht: Abs....
  6. VBA mit Variable suchen und datum setzen?

    in Microsoft Excel Hilfe
    VBA mit Variable suchen und datum setzen?: Hallo ich sitze vor folgendem Problem. in der Zelle C3 habe ich einen Wert der sich durch ein Makro ändert. Diese Zahl ist auch gleich der Spalte A 9 bis 70. Nun möchte ich ein Makro, dass mir...
  7. 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...
  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