reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Ms Excel 2003

flazzi (1)|17.11.2008 18:56
Zdravím,

Řeším problém skladů v Ms Excel 2003. Ve sloupci "A" mám základ: 200. Ve sloupci "B" chci zadat číslo třeba 5, které se přičte k základu ve sloupci "A". Výsledek tedy bude 205. Má otázka zní: jak docílit toho abych přepsal jednou napsanou hodnotu, tady je to číslo 5 druhou hodnotou např. 10 tak aby si pamatoval i to předchozí sečtení a výsledek nebude 210, ale 215. Budu moc vděčný za jakoukoliv pomoc. Předem děkuji všem za názor
grafnev (69)|19.11.2008 17:40
Upozornuji :)
1) Nikdy jsem nedelal ve vbs
2) Nezabyval jsem se programovanim pro excel

Tohle jsem dal ted za par minut dohromady pomoci kolegy, google, sledovani jak se zaznamenavaj v excelu makra a troskou zkusenosti programovani.

Tohle kdyz se umisti v editoru VBS, co je v excelu pod (nastroje, makro, editor ...) nebo alt+f11, do objektu list1. V tom okne co vybehne jsem nahore v zalozce nastavil worksheet.

Predpokladam, ze nasledujici kod, je fakt prasarna a urcite by se to tak delat nemelo. Napada me to nejak zoptimalizovat bez te pomocne promenne, bez tech postupnych selektu (misto activeCell pouzit neco jineho) atd. Ale nechce se mi to hledat, jen predpokladam, ze by treba mohla existovat funkce, ktera pracuje s konkretne urcenou polozkou.

Ciste reseni bez maker me nenapada, zkusim jeste popremyslet.


Private Sub Worksheet_Change(ByVal Target As Range)
Dim aaa
If Intersect(Target, Range("B1")) Is Nothing Then
Exit Sub
Else
Range("A1").Select
aaa = ActiveCell.Value
Range("B1").Select
aaa = aaa + ActiveCell.Value
Range("A1").Select
ActiveCell.Value = aaa
End If
End Sub
caikef (31)|4.1.2009 20:40
No protože práce s VSB je docela problém a pokud bude v sešitu / listu hodně řádek, bude to problém a bude to pomalé. Další problém je povolení maker - ne vždy všichni mají makra povolena. Další problém by mohl vzniknout se spouštěním na starších verzích. Lepší by bylo skusit to udělat v MS ACCESS - je to databáze a hlavně by tam šlo udělat to, že by se dala sledovat i historie změn stavu skladu a mohl by tam být i kusovník, snadno by se z toho dala dělat i "inventura".
Osobně používám makra v několika souborech a třeba pokud je v sešitu 350 řádek a jenom kontroluju hodnotu jedné buňky v řádce a podle toho nastavuju výšku řádku, trvý to řádově minutu...
Zvážil bych to použití MS ACCESS - když tak se ozvěte přes soukromou zprávu...mohu poradit
wex (115)|7.1.2009 16:05
Nešlo by jenom přidat jeden sloupec, který by byl součtem základu a zadaného čísla?
Ale asi ne, protože to každého hned napadne a objevil by se nějaký jiný problém...