Änderungen während eines Zeitraumes darstellen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm MsgBox
Bild

Betrifft: Änderungen während eines Zeitraumes darstellen
von: Thomas
Geschrieben am: 04.11.2015 09:31:18

Hallo
ich habe zwei Code.
1) Mit diesem Code kann ich einen Datensatz (Leere Zeile mit Formeln).

Public Sub DatensatzEinfügen()
    Dim lngRow5 As Long, lngRow6 As Long
    Dim ws As Worksheet, wsV As Worksheet, z%
    If TypeOf Selection Is Range Then
    
    Set ws = ActiveSheet
    Set wsV = ThisWorkbook.Worksheets("Datensatz")
        
        lngRow5 = ThisWorkbook.Names("Anfang").RefersToRange.Row
        lngRow6 = ThisWorkbook.Names("Ende").RefersToRange.Row
        
        Selection.Cells(1, 1).Select
        Application.EnableEvents = False
        
        If Selection.Row > lngRow5 And Selection.Row < lngRow6 Then
            
            With Worksheets("Aufstellung")
                
                Worksheets("Aufstellung").Unprotect Password:="sperl"
                Selection.EntireRow.Insert Shift:=xlDown
        z = ActiveCell.Row
        wsV.Rows("5:5").Copy ws.Range("A" & z)
                Worksheets("Aufstellung").Protect Password:="sperl"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFiltering:=True
                
            End With
        Else
            Call MsgBox("Außerhalb des gültigen Bereichs.", vbExclamation, "Hinweis")
        End If
    Else
        Call MsgBox("Bitte eine Zeile auswählen.", vbExclamation, "Hinweis")
    End If
End Sub
2) Mit diesem Code kann ich einen Datensatz in Abhängigkeit eines Kriteriums (Entfällt)in zwei andere Blätter verschieben
Sub DatensatzVerschieben()
Worksheets("Aufstellung").Unprotect Password:="sperl"
Worksheets("Lager BSK").Unprotect Password:="sperl"
Worksheets("Lager STS").Unprotect Password:="sperl"
Dim TB1, TB2, TB3, i&, LR1&, LR2&, LR3&
Set TB1 = Sheets("Aufstellung")
Set TB2 = Sheets("Lager BSK")
Set TB3 = Sheets("Lager STS")
LR1 = TB1.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile
For i = LR1 To 1 Step -1
If TB1.Cells(i, 69).Value = "Entfällt" Then
LR2 = TB2.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile
LR3 = TB3.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile
TB1.Rows(i).Copy TB2.Rows(LR2 + 1)
TB1.Rows(i).Copy TB3.Rows(LR3 + 1)
TB1.Rows(i).Delete
End If
Next
Worksheets("Aufstellung").Protect Password:="sperl"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
Worksheets("Lager BSK").Protect Password:="sperl"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
Worksheets("Lager STS").Protect Password:="sperl"
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End Sub
Mein Problem ist, dass ich Änderungen visualisieren muss.
d.h. sobald eine Zeile eingefügt oder in ein anderes Blatt verschoben wird, soll immer auch das Datum über die Änderung irgendwo abgespeichert werden. Das Ganze kann gerne auch in einer Zelle des eingefügten oder verschobenen Datensatzes gemacht werden.
Ich möchte dann in einer Userform ein Anfangs –und Enddatum auswählen können.
Alle Datensätze deren Änderungsdatum (Einfügedatum oder Verschiebedatum) innerhalb oder gleich dem Datumsgrenzen ist, werden farbig schattiert (die ganze Zeile).
Die Schwierigkeit dabei ist, dass das der Datensatz nur im Tabellenblatt „Aufstellung“ eingefügt wird.
Verschoben werden die Datensätze in die Tabellenblätter Lager BSK und Lager STS.
Wird der Datensatz aus „Aufstellungen“ nach Lager BSK verschoben, dann soll das Verschiebedatum im Tabellenblatt „Lager BSK“ Stehen.
Zur besseren Übersicht meine Datei.
https://www.herber.de/bbs/user/101239.xlsm
Hat hierzu jemand eine Idee?

Bild

Betrifft: AW: Änderungen während eines Zeitraumes darstellen
von: fcs
Geschrieben am: 05.11.2015 07:40:47
Hallo Thomas,
das Anlegen eines neuen Datensatzes kannst du so dokumentieren:

        z = ActiveCell.Row
        wsV.Rows("5:5").Copy ws.Range("A" & z)
        ws.Range("FC" & z).Value = Date 'Spalte "FC" ggf. anpassen
        Worksheets("Aufstellung").Protect Password:="sperl"
Für das Verschieben entsprechend:
    TB1.Rows(i).Copy TB2.Rows(LR2 + 1)
    TB2.Cells(LR2 + 1, 159).Value = Date '159 = Spalte "FC" - ggf anpassen
    TB1.Rows(i).Copy TB3.Rows(LR3 + 1)
    TB3.Cells(LR2 + 1, 159).Value = Date '159 = Spalte "FC" - ggf anpassen
Gruß
Franz

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Änderungen während eines Zeitraumes darstellen"