Thema Datum  Von Nutzer Rating
Antwort
27.05.2017 11:43:24 Wolfgang
Solved
Blau Nach Wertänderung alten Wert in Zelle merken
27.05.2017 12:41:35 SJ
NotSolved
27.05.2017 13:03:20 Gast35371
NotSolved
27.05.2017 22:37:46 Mackie
NotSolved
29.05.2017 14:46:36 Gast1004
NotSolved

Ansicht des Beitrags:
Von:
SJ
Datum:
27.05.2017 12:41:35
Views:
589
Rating: Antwort:
  Ja
Thema:
Nach Wertänderung alten Wert in Zelle merken

Hallo,

auf die Schnelle ist mir nur diese Lösung eingefallen:

Option Explicit

Private Const iOffset As Integer = 2        'Offset der Spalte, in die der vorherige Wert geschrieben wird
Private Const sRange As String = "C4:C6"    'Range, deren Werte bei Änderungen verlegt werden
Dim sValues() As String


Private Sub Worksheet_Change(ByVal Target As Range)
    'Quick & Dirty
    On Error Resume Next
    Dim c As Range, s As String
    For Each c In Target.Cells
        s = getValueFromArray(c.address)
        If Not s = vbNullString Then
            c.Offset(0, iOffset).Value = s
        End If
    Next c
    On Error GoTo 0
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rng As Range
    Set rng = Intersect(Target, Range(sRange))
    
    If rng Is Nothing Then
        Exit Sub
    End If
    
    Dim c As Range, l As Long
    ReDim sValues(Target.Cells.Count - 1, 1)
    
    For Each c In Target.Cells
        sValues(l, 0) = c.address
        sValues(l, 1) = c.Value
        l = l + 1
    Next c
End Sub

Private Function getValueFromArray(ByVal address As String) As String
    Dim l As Long
    For l = 0 To UBound(sValues(), 1)
        If sValues(l, 0) = address Then
            getValueFromArray = sValues(l, 1)
            Exit Function
        End If
    Next l
End Function

Den Code in das Codeobjekt des entsprechenden Worksheets packen und mal probieren.

Viele Grüße


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
27.05.2017 11:43:24 Wolfgang
Solved
Blau Nach Wertänderung alten Wert in Zelle merken
27.05.2017 12:41:35 SJ
NotSolved
27.05.2017 13:03:20 Gast35371
NotSolved
27.05.2017 22:37:46 Mackie
NotSolved
29.05.2017 14:46:36 Gast1004
NotSolved