Stránka 1 z 1
Excel - historizace dat
Napsal: 23 bře 2014 11:07
od bloom
Ahoj, měl bych dotaz na vytvoření makra v excelu. Chtěl bych vytvořit makro, které by po změně hodnot v konkrétní buňce zkopírovalo původní hodnoty v dané buňce do jiné buňky - tedy nějakou historizaci. Nejsem ve VBA ještě kovaný, tak bych rád někoho požádal o radu, pomocí jakých funkcí bych měl historizaci provést. Mnohokrát děkuji za jakokoliv odpověď. bloom
Re: Excel - historizace dat
Napsal: 23 bře 2014 17:57
od d1amond
Kód: Vybrat vše
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Value <> Target Then
Range("B1") = Target
Else
Set Target = Nothing
Exit Sub
End If
End Sub
Pokud se změní hodnota jakékoliv aktivní buňky, zkopíruje se její původní obsah do B1, jinak se končí procedura.
Je to narychlo uplácané (cca 2 minuty), je to spíš vodítko jak na věc.

Re: Excel - historizace dat
Napsal: 24 bře 2014 10:37
od bloom
Díky, ale bohužel se mi do B1 kopíruje vždy jen nová hodnota v konkrétní buňce.
Re: Excel - historizace dat
Napsal: 24 bře 2014 13:06
od d1amond
Pravda, to by bylo moc jednoduché.
Možná bych volil metodu dvou listů, záleží o jaká data se jedná a kolik by se jich kopírovalo. Nebylo by to řešení?
VBA nemá fci before_update, která by si pamatovala hodnotu buňky před její změnou.
Re: Excel - historizace dat
Napsal: 25 bře 2014 11:44
od bloom
Nakonec jsem to vyřešil tak, že jsem zkopíroval původní data na nový list a pod ně se kopírují změny.
Re: Excel - historizace dat
Napsal: 25 bře 2014 12:43
od d1amond
To je celkem rozumné, pokud nejde o rozsáhlá data.