Veď ale Vy máte v R vzorec, teda musíte testovať zmenu v manuálne menených bunkách, ktoré ten vzorec používa. Vzorec používa Q a D. D je manuálne menený, no Q je vzorec, ktorý používa E, a to je manuálne menené. Teda sledované bunky vo Worksheet_Change musia byť všetky manuálne, a teda D a E. Stĺpce D a E reprezentujú vo Vašej Tabuľke "Tabulka2" stĺpce 3 4 (Datum, šarže).
-Teda test zmeny v týchto dvoch,
-Prenesenie na stĺpec R - teda v Tabulka2 číslo 17 (Měsíc),
-Overenie trvania >14 a prenesenie na stĺpec P - teda v Tabulka2 je to posun o -2 stĺpce,
-Zápis "ne"
PS: ---Prípadné ošetrenie hromadného zápisu do viac buniek
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ChangeAreaDE As Range, ChangeAreaR As Range, SubArea As Range, Cell As Range, FinalAreaP As Range, Hodnota
Set ChangeAreaDE = Intersect(ListObjects("Tabulka2").DataBodyRange.Columns(3).Resize(, 2), Target)
If Not ChangeAreaDE Is Nothing Then
Set ChangeAreaR = Intersect(ListObjects("Tabulka2").DataBodyRange.Columns(17), ChangeAreaDE.EntireRow)
If Not ChangeAreaR Is Nothing Then
For Each SubArea In ChangeAreaR.Areas
For Each Cell In SubArea.Cells
Hodnota = Cell.Value
If Hodnota <> "" And Hodnota > 14 Then
If FinalAreaP Is Nothing Then Set FinalAreaP = Cell.Offset(0, -2) Else Set FinalAreaP = Union(FinalAreaP, Cell.Offset(0, -2))
End If
Next Cell
Next SubArea
If Not FinalAreaP Is Nothing Then
Application.EnableEvents = False
FinalAreaP.Value = "ne"
Application.EnableEvents = True
End If
End If
End If
End Sub
Nečítal som celé vlákno, teda možno treba ešte niečo doplniť/zmeniť. Otestujte.
citovat