Bir excel çalışma kitabındaki veri değişikliklerinin geçmişini nasıl saklayabilirim


1

Bir kullanıcı bunu farklı soru :

İşte aralığı izleyecek bazı kodlar A1:G12 Hangi sayfada olursa olsun kodun içinde. Eğer r değiştirilen satır, sonra kod   her şeyi Ar: Gr'dan kod adı olan bir sayfaya kopyalar.   shtLog. (Kod adı, VBA'da gösterilen addır, sekmedeki ad değil.   Excel'de görüyorsunuz.) Bu, doğru yönde hareket etmenizi sağlamalıdır.

 Private Sub Worksheet_Change(ByVal Target As Range)    
    Dim r As Integer
    Dim c As Integer
    Dim arr(1 To 1, 1 To 12)
    If Not Intersect(Target, Range("A1:G12")) Is Nothing Then
        r = Target.Row
        For c = 1 To 12
            arr(1, c) = Cells(r, c).Value
        Next
        With shtLog
            .Range(.Cells(.UsedRange.Rows.Count + 1, 1), .Cells(.UsedRange.Rows.Count + 1, 12)) = arr
        End With
    End If
End Sub

Ancak, bir modülde ve VBA Düzenleyicide kullandığım kodu görebildiğim halde makroyu göremiyorum, bulamıyorum, seçemiyorum veya çalıştırmıyorum, böylece kaydedicinin nasıl çalışacağına dair hiçbir fikrim yok.

Kodun nasıl çalışacağını bilen var mı, böylece belirlenen sayfada kayıt yapmaya başlayacak mı?

Yanıtlar:


2

Modüle koyma.

Bu makro, bir çalışma sayfasında her değişiklik olduğunda, ilk satırında görebileceğiniz gibi otomatik olarak çağrılır: Private Sub Worksheet_Change(ByVal Target As Range).

VBA Düzenleyicisi'nde, sol tarafta, makroya sahip olmak istediğiniz çalışma sayfasını (yani üzerinde değişiklikleri izlemek istediğiniz çalışma sayfasını) çift tıklayın ve ardından kodu sağ tarafa yapıştırın.

Hata ayıklamak istiyorsanız, şu adımları izleyin:

  1. Koymak kesme noktası Kodun ilk satırında satırın sol tarafına tıklayın. Kahverengi bir nokta görünecek ve çizgi aynı renkte vurgulanacaktır, şöyle: enter image description here

  1. Çalışma sayfasında değişiklik yapın, örneğin bir hücreye değer koyun. Kod yürütülür ve içinde durur kesme noktası Bizim durumumuzda, ilk satırda, bu şekilde sarı renkle vurgulanacaktır:

enter image description here


  1. Kod satırını satır satır yürütmek için F8 . Her adımda neler olup bittiğini görmenize yardımcı olacaktır.

  2. Hata ayıklama işlemini yaptıktan sonra kesme noktası kahverengi noktaya tıklayarak.

Makronun, değerleri bir çalışma sayfasına koyduğunu unutmayın. shtLog, hedef çalışma sayfasını bulamamayı önlemek için buna benzer bir çalışma sayfası oluşturmanız veya koddaki adı değiştirmeniz gerekir.


Bir deneyeceğim - takdir ediyorum.
Marv
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.