Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno EXCEL - macro sledující změnu buňky, aniž bych dělal v excelu cokoliv jiného...

Zdravím "exceláře" :-)
bojuju s tímto problémem:
Mám 3 externí zdroje dat, která se mi zapisují do buněk A1, B1, C1 (mohu nastavit i zapisování každého čísla pod sebe do příslušného sloupce). Bohužel nejsem schopen zajistit synchronizaci času u jednotlivých zdrojů, ale pro moji potřebu je to nutnost. Čili potřebuji na základě změny hodnoty jakékoliv z buněk (A1 nebo B1 nebo C1) zachytit čas - třeba do vedlejších sloupců (sloupec D pro data z sl. A, sl.E pro data ze sl. B, sl.F pro data ze sl. C). Přesnost času potřebuji na desetiny, či setiny vteřiny.

Jednou z cest (a já myslím, že chytrou!) by bylo macro, které by hlídalo jen změnu A1 nebo B1 nebo C1 buňky (sem by zapisovaly ony 3 externí zdroje). Aby se mi data ale neztratila a nepřepisovala, tak pokaždé zachycené změně v hodnotách by se vložil nový řádek jako první řádek, tj. poslední data by se posunula dolů a tím by se mi časově řadila od nejstarších k nejnovějším a macro by ještě do sloupce D zapsalo čas ve formátu 07:25.15 (hh:mm:ss.00) nebo i celý datum.

Vím o funkci Worksheet_Change(), ale nějak ji neumím použít k mému prospěchu a ani netuším, jestli je to ta správná funkce na zachycení změny v buňce.
Data se mění automaticky, s nepravidelnou četností (1x za 1s nebo taky 10x za 1s), všechny zdroje jsou navzájem nezávislé a s kurzorem v excelu se nic neděje, žádné klikání na jinou buňku. Prostě se jen mění data v oněch buňkách, uživatel bude mimo pc.

Našel jsem toto:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = "2" Then
With Cells(Target.Row, Target.Column - 1)
.Value = Now
.EntireColumn.AutoFit
End With
End If
End Sub

... ale je to pro moji věc nepoužitelné, reaguje to až po pohybu kurzoru na další a další buňku :-(

Moc bych chtěl poprosit nějakého "exceláře" - poradil by někdo s kodém, jak toto udělat? Děkuji.

Předmět Autor Datum
Worksheet_Change sa pri zmene bunky externým zdrojom nespúšťa. Na toto sa skôr hodí udalosť AfterRef… poslední
los 10.04.2013 19:10
los

Zpět do poradny Odpovědět na původní otázku Nahoru