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.