Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Excel - VBA - Makro na vložení sumy

Ahoj, dobrý den,

prosím vás, potřeboval bych poradit, jak udělat makro na vložení sumy, kde se bude na každém listu sčítat vždy odlišný počet buněk?

Př. chci aby makro sečetlo buňky C2-C5 a do C6 dalo tuto sumu. Jenomže na dalším listu, kde opět zapnu totéž makro už zase potřebuju sečíst buňky C2-C18 a do C19 dát sumu. C2 je vždy počáteční body sumy, ten konečný se na každém listu ale liší.
Zkoušel jsem aby makro tuto poslední sčítanou buňku našlo a pojmenovalo a pak suma byla C2-"pojmenovaná buňka" což funguje. Problém ale je že to zafunguje jen na jednom listu a pak když to makro spustím na dalším listu, tak už to nefunguje na tom předchozím.

díky moc za rady a pomoc

Ludovít

Předmět Autor Datum
Na každom spúšťanom hárku si makro musí nájsť poslednú bunku v stĺpci C, tej neprideliť meno ale pre…
robert13 13.08.2021 08:56
robert13
Děkuji, vyzkouším
noone 16.08.2021 07:57
noone
S Excelem neporadím, na to tady máme jiné odborníky, viď Roberte? ;-):beer: Jenom chci pochválit úr…
host 13.08.2021 09:36
host
Děkuji :) :beer: poslední
noone 16.08.2021 07:57
noone

Na každom spúšťanom hárku si makro musí nájsť poslednú bunku v stĺpci C, tej neprideliť meno ale premennú.
Makro predpokladám, že spúšťaš vždy v príslušnom hárku a nie tlačidlom na prvom hárku. Musel by si mať tlačidlo na každom hárku, aby sa výpočet vykonával v aktívnom liste.
Prípadne urobiť program tak, že si sám bude prepínať hárky od prvého až po posledný, pričom si v každom zistí koncovú bunku a vykoná súčet.
Prepínanie sa môže diať na pozadí, bez toho, aby celá postupnosť úkonov preblikávala na monitore, pokiaľ sa na začiatok makra uvedie príkaz: Application.ScreenUpdating=False
Keďže v takom prípade sa na monitore nedeje žiadna zmena, je vhodné ošetriť kód tak, aby po ukončení poskytol správu prostredníctvom MsgBoxu.

Kód pre vykonanie na aktívnom liste:

PoslednyRiadok = Range("C" & Columns("C:C").Rows.Count).End(xlUp).Row
Range("C" & PoslednyRiadok + 1) = "=SUM(C2:C" & PoslednyRiadok & ")"

S Excelem neporadím, na to tady máme jiné odborníky, viď Roberte? ;-) :beer:

Jenom chci pochválit úroveň dotazu, takových je bohužel málo:
- výstižný nadpis
- srozumitelný dotaz bez gramatických chyb
- správná kategorie
- pozdrav, poděkování, podpis
- snažil ses nejdřív najít řešení sám, nečekáš, že to celé někdo udělá za tebe

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