Thema Datum  Von Nutzer Rating
Antwort
Rot Zeitstempel wenn ein oder mehr Werte aktualisiert werden
10.10.2019 15:42:33 Robin
NotSolved
10.10.2019 16:15:04 Werner
Solved
11.10.2019 08:08:19 Robin
NotSolved

Ansicht des Beitrags:
Von:
Robin
Datum:
10.10.2019 15:42:33
Views:
638
Rating: Antwort:
  Ja
Thema:
Zeitstempel wenn ein oder mehr Werte aktualisiert werden

Hallo,

Ich bin gerade am versuchen, einen Zeitstempel über mehrere Spalten zu machen. 

Beispiel:

Wenn in Zellen Werte geändert werden von  A1-N1 ("A:N") soll in der Zelle P1 der Zeitstempel erscheinen.

 

Ich hab den Code soweit, dass wenn ich in einer bestimmten Spalte den Wert änder, der Zeitstempel aktualisiert wird. 

Nun möchte ich dies aber auf mehrere Spalten erweitern, jedoch bin ich nicht wirklich weiter gekommen.

Bisheriger Code:

Sub Worksheet_Change(ByVal Target As Range)
 
    Dim WorkRng As Range
    Dim Rng As Range
    Dim xOffsetColum As Integer
    Set WorkRng = Intersect(Application.ActiveSheet.Range("N:N"), Target)
    xOffsetColumn = 2
    If Not WorkRng Is Nothing Then
        Application.EnableEvents = False
        For Each Rng In WorkRng
            If Not VBA.IsEmpty(Rng.Value) Then
                Rng.Offset(0, xOffsetColumn).Value = Now
                Rng.Offset(0, xOffsetColumn).NumberFormat = "dd MM yyyy, hh:mm:ss"
            
            End If
        Next
        Application.EnableEvents = True
    End If
    
 
End Sub

 

Fail 1
 
Sub Worksheet_Change(ByVal Target As Range)
 
    Dim WorkRng As Range
    Dim Rng As Range
    Dim xOffsetColum As Integer
    Set WorkRng = Intersect(Application.ActiveSheet.Range("A:N"), Target)
    xOffsetColumn = 2
    If Not WorkRng Is Nothing Then
        Application.EnableEvents = False
        For Each Rng In WorkRng
            If Not VBA.IsEmpty(Rng.Value) Then
                Rng.Offset(0, xOffsetColumn).Value = Now
                Rng.Offset(0, xOffsetColumn).NumberFormat = "dd MM yyyy, hh:mm:ss"
            
            End If
        Next
        Application.EnableEvents = True
    End If
    
 
End Sub
 
Wenn ich nun den Range auf ("A:N") erweitere klappt zwar der Zeitstempel, aber er erscheint jeweils zwei Zeilen hinter der geänderten Zelle (da xOffsetColumn = 2)
 
 
Fail 2
 
Sub Worksheet_Change(ByVal Target As Range)
 
    Dim WorkRng As Range
    Dim Rng As Range
    Dim xOffsetColum As Integer
    Set WorkRng = Intersect(Application.ActiveSheet.Range("A:N"), Target)
    xOffsetColumn = ("P:P")
    If Not WorkRng Is Nothing Then
        Application.EnableEvents = False
        For Each Rng In WorkRng
            If Not VBA.IsEmpty(Rng.Value) Then
                Rng.Offset(0, xOffsetColumn).Value = Now
                Rng.Offset(0, xOffsetColumn).NumberFormat = "dd MM yyyy, hh:mm:ss"
            
            End If
        Next
        Application.EnableEvents = True
    End If
    
 
End Sub 
 
 
Wenn ich den xOffsetColumn auf ("P:P") setze erscheint Laufzeitfehler '13' "Typen unverträglich". Beim Korrigieren markiert er  
Rng.Offset(0, xOffsetColumn).Value = Now
zum debuggen.
 
 
Wo liegt da mein Fehler?
 
Vielen Dank schonmal
 

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Zeitstempel wenn ein oder mehr Werte aktualisiert werden
10.10.2019 15:42:33 Robin
NotSolved
10.10.2019 16:15:04 Werner
Solved
11.10.2019 08:08:19 Robin
NotSolved