< návrat zpět

MS Excel


Téma: Sumifs VBA rss

Zaslal/a 24.9.2020 21:37

lugrDobrý den,

tak zase jednou prosím já o pomoc. 7

Potřeboval bych funkci sumifs přes makro tak, aby když do sloupce E na listu2 napíšu číslo, tak se mi zapíše vedle do sloupce F výsledek z tabulky na listě DATA. Číslo ve sloupci E nutno nejprve matematicky zaokrouhlit(>=5 nahoru, <5 dolů).

Může nastat situace, že ve sloupci E nebude žádné číslo a výsledek si zapíšu ručně.

Snad je to srozumitelné.

pro lepší příklad jsem vložil funkci.

Příloha: zip48137_sumifs-vba.zip (10kB, staženo 2x)
Zaslat odpověď >

#048138
avatar
Funkce v základním tvaru (bez zaokrouhlování) je takto:
x = WorksheetFunction.SumIfs(Worksheets("Data").Range("D:D"), Worksheets("Data").Range("B:B"), Worksheets("List2").Range("D8"), Worksheets("Data").Range("C:C"), Worksheets("List2").Range("E8"))

Učesaná verze:Dim wsData As Worksheet
Dim wsList2 As Worksheet
Dim oblastB As Range
Dim oblastC As Range
Dim oblastD As Range
Dim parametr1 As Range
Dim parametr2 As Range

Set wsData = Worksheets("Data")
Set wsList2 = Worksheets("List2")

Set oblastB = wsData.Range("B:B")
Set oblastC = wsData.Range("C:C")
Set oblastD = wsData.Range("D:D")

Set parametr1 = wsList2.Range("D8")
Set parametr2 = wsList2.Range("E8")

'**** zaokrouhlit **********
parametr2 = WorksheetFunction.Round(parametr2, -1)
'***** SUMIFS **************
y = WorksheetFunction.SumIfs(oblastD, oblastB, parametr1, oblastC, parametr2)


Teď co s tím dál?
Kdy to spustit - tlačítko, událost...
Co počítat - jeden řádek, více řádků ....
Příloha: rar48138_sumifs-vba.rar (17kB, staženo 2x)
citovat
#048139
lugr
Makro by se mělo spouštět automaticky při zadání čísla do sloupce E

Např.

Do buňky E3 napíšu číslo 14 a makro musí udělat toto:

1. najít číslo 14 (resp. číslo 10) v tabulce na listě Data
2. zapsat výsledek (2000) do buňky F3

A takhle to pokračuje dál

E4 -> F4
E5 -> F5
atd.

Nicméně jak už jsem psal prvně, můžu nastat situace, že když nebudu znát číslo do buňky E (např. E6) zapíši si výsledek do buňky F6 ručně. To je pro případ, že by mělo makro snahu prěpisovat zadaný výsledek ručně.citovat
#048140
avatar
Tak zkuste, jestli by to tak mohlo být. Aby to počítalo, musí být vyplněno D i E (v libovolném pořadí).
Příloha: zip48140_sumifs-vba.zip (18kB, staženo 4x)
citovat
#048141
lugr

Jiří497 napsal/a:

Tak zkuste, jestli by to tak mohlo být. Aby to počítalo, musí být vyplněno D i E (v libovolném pořadí).Příloha: 48140_sumifs-vba.zip (18kB, staženo 1x)


Vypadá to perfektně.

Moc děkujicitovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura III

Oblíbený formulář Faktura byl vylepšen a rozšířen. Formulář faktura III
Více se dočtete zde.

Aktivní diskuse

ZOSKUPENIE ÚDAJOV

Daniel_11 • 29.10. 10:10

kopie mezi instancemi Excelu

rinma • 29.10. 9:44

kopie mezi instancemi Excelu

Stalker • 29.10. 8:44

kopie mezi instancemi Excelu

rinma • 28.10. 19:01

kopie mezi instancemi Excelu

rinma • 28.10. 18:58

den hodina minuta sekunda v jednej bunke

lugr • 28.10. 12:50

Kombinace url odkazů

Petan111 • 28.10. 11:46