"Worksheet_Change" öncesi hücre değeri

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,059
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Aşağıdaki kodda sayfada bir hücrede yapılan değişiklik sonucunda son değeri alabiliyoruz,
öğrenmek istediğim; burada değişimden önceki değeri nasıl alabiliriz?

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B2")) Is Nothing Then
    MsgBox Target.Value
End If
End Sub
ilginiz için şimdiden teşekkürler,
iyi haftasonları...
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Public bir değişken tanımı yaparsınız.
Worksheet.selection olayında değeri o değişkene aktarırsınız.
değişiklikten önceki değer olur.

Kod:
Public EskiDeger As Variant

Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, Range("B2")) Is Nothing Then Exit Sub
    
    MsgBox "Eski Değer : " & EskiDeger & " Yeni Değer : " & Target.Value
    
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Intersect(Target, Range("B2")) Is Nothing Then Exit Sub
    EskiDeger = Target.Value
    
End Sub
 
Son düzenleme:

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Kod:
Dim OncekiDeger As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B2")) Is Nothing Then
        MsgBox OncekiDeger
        MsgBox Target.Value
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    OncekiDeger = Target.Value
End Sub
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,059
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba.

Kod:
Dim OncekiDeger As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("B2")) Is Nothing Then
        MsgBox OncekiDeger
        MsgBox Target.Value
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    OncekiDeger = Target.Value
End Sub
Necdet & Muzaffer Hocam ilginize çok teşekkürler...
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Rica ederim. Kolay gelsin.
 
Üst