Ahoj,
potřeboval bych makro pro sledování změn u odemčených buněk v přiloženém příkladu, tak aby k zápisu změn docházelo na zamčeném druhém listu. Bohatě postačuje datum, stará a nová hodnota buňky. Sledování změn mi nevyhovuje, nejedná se o sdílený dokument. Dnes jsem nacházel makra pro sledování změn u sdílených dokumentů nebo pro mě nevyužitelné. Používám MSO 2007. Díky Moc za pomoc.
Heslo: 123
Je to reálné nebo absolutní nesmysl?
Makro pro zápis historie Vyřešeno
-
- nováček
- Příspěvky: 17
- Registrován: únor 10
- Pohlaví:
- Stav:
Offline
Makro pro zápis historie
- Přílohy
-
- Test historie.xlsm
- (8.8 KiB) Staženo 25 x
-
- Level 4.5
- Příspěvky: 1544
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: Makro pro zápis historie Vyřešeno
Toto vlož do modulu listu Data
Kód: Vybrat vše
Dim OldVal, Pozice
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
OldVal = Target
Pozice = Target.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
With Sheets("Zmeny")
.Protect UserInterfaceOnly:=True
radek = 1 'nastaveni radek jako 1
For i = 1 To .Cells(.Cells.Rows.Count, "A").End(xlUp).Row + 1
If .Cells(i, 1) <> "" Then
radek = radek + 1
End If
Next
.Cells(radek, 1).Value = Format$(Now, "yyyy/mm/dd hh:nn:ss")
.Cells(radek, 2).Value = JmenoPC
.Cells(radek, 3).Value = JmenoExcel
.Cells(radek, 4).Value = Pozice
.Cells(radek, 5).Value = OldVal
.Cells(radek, 6).Value = NewVal
End With
End If
End Sub
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 9
- 1265
-
od mmmartin
Zobrazit poslední příspěvek
29 srp 2023 16:47
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů