mégsem jó, nem teljesen :(
lehet hogy finomhangolás kérdése, de ez:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wsLog As Worksheet, rLog As Range
Dim rQuery As Range, c As Range, Hit As Range
Set wsLog = Worksheets("Munka5")
Set rQuery = Range("B1", Range("B" & Rows.Count).End(xlUp))
For Each c In rQuery
Set rLog = wsLog.Range("B" & Rows.Count).End(xlUp).Offset(1)
Set Hit = wsLog.Range("B:B").Find(what:=c.Value, after:=rLog, LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlPrevious)
If Hit Is Nothing Then
rLog.Offset(, -1).Resize(, 3).Value = c.Offset(, -1).Resize(, 3).Value
rLog.Offset(, 2) = Now
ElseIf Hit.Offset(, 1) <> c.Offset(, 1) Then
rLog.Offset(, -1).Resize(, 3).Value = c.Offset(, -1).Resize(, 3).Value
rLog.Offset(, 2) = Now
End If
Next
End Sub
MOST csak akkor loggol, ha "rákényszerítem", úgyértem, ha rámegyek a munka3-ra majd a munka5-re váltok, akkor azt az állapotot loggolja, de ha elmegyek a városba dolgomat intézni, és nem váltogatom a lapokat oda-vissza, akkor a munka3 ezen kódja "nem dolgozik" nem loggol automatikusan, csakis a váltásnál.(pedig a munkafüzet mindig aktív és online)
_____________________________________________________________________
Jimmy The Hand: minden eddigitől elvonatkoztatva: nem lenne egyszerübb, ha az egész loggolásnak EGYETLEN feltétel szerint kellene történnie?? semmi összehasonlítgatás meg efféle. CSAK annyi, hogy a weblekérdezéses munka3 nevű lapon, ha a "D" oszlop valamely cellájában a kód találna egy "L" karaktert, akkor csak az adott sor A, B, C oszlopában szereplő értéket (számított értéket!) loggolja csak (idővel együtt).
mert én azt az "L" karaktert logikai fügvényekkel el tudom helyezni a "D" oszlopba.
Üdvözlet!