Jak udělat součet buněk ve VBA?

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Zamčeno
Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3377
Registrován: 24 říj 2008 19:50

Jak udělat součet buněk ve VBA?

Příspěvek od atari »

Ve VBA používám pro součty uvedený kód. (Ten mi dosadí do buňky L2 vzorec "=SUMA(L4:L65002)"). Jenže bych potřeboval místo té buňky L65002 dosadit proměnnou (Dim pocetradku As Integer), která mi určuje, kolik je obsazených řádků. Je možné toto nějak udělat?
A nebo by byla možná druhá varianta, provést součet řádků ve VBA a pak jen do buňky L2 dosadit výsledek.

Kód: Vybrat vše

Range("L2").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[2]C:R[65000]C)"

Samozřejmě bych uměl do cyklu FOR NEXT vzít buňku po buňce s posčítat. Jenže to pak při větších objemech dosti zpomaluje program. Chtěl bych nějaké elegantnější řešení.
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: 29 srp 2008 16:49

Re: Jak udělat součet buněk ve VBA?

Příspěvek od navstevnik »

Napr takhle:

Kód: Vybrat vše

Dim Blk As Range
Set Blk = ActiveSheet.Range("d3:d7")
Debug.Print WorksheetFunction.Sum(Blk)

pripadne muzes Blk definovat takto:

Kód: Vybrat vše

Set Blk = ActiveSheet.Range("d3")
Set Blk = Blk.Resize(PocRadku, 1)
Uživatelský avatar
atari
Level 6
Level 6
Příspěvky: 3377
Registrován: 24 říj 2008 19:50

Re: Jak udělat součet buněk ve VBA?

Příspěvek od atari »

Díky moc. To je přesně ono.
Zamčeno

Zpět na „Kancelářské balíky“