prosím o radu, jak zaznamenávat změny v buňkách. Poskládal jsem si makro, které vypadá takto:
Kód: Vybrat vše
Dim OldVal, Pozice
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
OldVal = Target
Pozice = ActiveCells.Address
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range, i, radek
Dim JmenoPC, JmenoExcel
Set KeyCells = Range("A1:AZ9999") ' *** hlídaná oblast ************
JmenoPC = Environ("UserName")
JmenoExcel = Application.UserName
NewVal = Target.Value
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
radek = 1 'nastaveni radek jako 1
For i = 1 To Cells.SpecialCells(xlLastCell).Row
If Sheets("Zmeny").Cells(i, 1) <> "" Then
radek = radek + 1
End If
Next
Sheets("Zmeny").Cells(radek, 1).Value = Format$(Now, "yyyy/mm/dd hh:nn:ss")
Sheets("Zmeny").Cells(radek, 2).Value = JmenoPC
Sheets("Zmeny").Cells(radek, 3).Value = JmenoExcel
Sheets("Zmeny").Cells(radek, 4).Value = Pozice
Sheets("Zmeny").Cells(radek, 5).Value = OldVal
Sheets("Zmeny").Cells(radek, 6).Value = NewVal
End If
End Sub
Na Listu1 jsou hlídané hodnoty, při změně buňky chci zapsat do Superskrytého listu Zmeny řádek. A moje problémy:
1. Pokud změním buňku A1 z hodnoty "AAA" na "BBB" zapíše se vše v pořádku (OldVal = "AAA", NewVal = "BBB"
Pokud opět změním buňku A1 z hodnoty "BBB" na "CCC" zapíše se OldVal = "AAA", NewVal = "CCC" a to je chyba
2. Do proměnné pozice se mi uloží aktuální pozice kurzoru - a já bych tam potřeboval pozici změněné buňky.
Díky všem za radu