Zdravím.
Pokouším se napsat kod pro countifs.
Když použuju v sešite vzorec , funguje.
Když to chci do makra, aby mi do buňky B10 zapsal počet výskytů slova "Poslat". vyhodí to chybu.
Poradíte kde je zakopaný pes ?
Děkuji
P.
Zdravím.
Pokouším se napsat kod pro countifs.
Když použuju v sešite vzorec , funguje.
Když to chci do makra, aby mi do buňky B10 zapsal počet výskytů slova "Poslat". vyhodí to chybu.
Poradíte kde je zakopaný pes ?
Děkuji
P.
nechybí mi třeba něco tady ?
Excelovská funkce přece na první pohled není příkaz VBA.
Jestli chceš tu funkci vyhodnotit, tak by mělo jít toto:
X.Value = Application.Evaluate("COUNTIFS(A5:A15;""Poslat"")")
A jestli chceš té buňce nastavit funkci tak toto:
X.Formula = "COUNTIFS(A5:A15;""Poslat"")"
..no nerozumím tomu.
Když zapíšu:
Range("c1").FormulaLocal = "=COUNTIFS(R[1]C:R[5]C;""Poslat"")" 'funguje ok
Range("B1").FormulaLocal = "COUNTIFS( A5:A15 ; ""Poslat"")" 'jiný zápis vzorce,
'ten vzorec se doplní ale nemá =, tzn výpočet Nefunguje
' ani když napíšu Range("B1").FormulaLocal = "=COUNTIFS( A5:A15 ; ""Poslat"")"
Debug.Print Range("c1").FormulaR1C1 'kontrola ok
Debug.Print Range("c1").Formula 'kontrola ok
Debug.Print Range("c1").Value 'kontrola ok
Debug.Print Range("c1").Text 'kontrola ok
p = Range("c1").Text 'kontrola ok výsledek do proměnné p
Debug.Print p 'kontrola
Label2.Caption = p 'nejde :Variable not defined ???
End Sub
****************************************
chci aby se na form1 v Label2.caption objevila ta hodnota a to mi nejde.
Je to dobře ? Label2.caption = p Píše mi to : Variable not defined, to musím napsat nějakou podrobnější cestu k tomu Label2?
Ale původně jsem nechtěl vkládat nikam vzorec do buněk.
Chtěl jsem po stisknutí tlačítka "VYPOCET" na form1 ,aby se ta funkce provedla tzn. provedla vypočet, a výsledek napsala do Label2.caption
X.Value = Application.Evaluate("COUNTIFS(A5:A15;""Poslat"")") tomu x.value nerozumím
Label2.caption = Application.Evaluate("COUNTIFS(A5:A15;""Poslat"")") nefunguje
Podařilo se mi ten vzorec modifikovat aby oblast bunek byla C2-proměnnáPosledníRádek (r)
Když ho nakopíruju do buňku, tak to v listu funguje
Range("c1").FormulaLocal = "=COUNTIFS(R[1]C:R[" & r & "]C;""Poslat"")"
ale Nedaří se mi z něho vytáhnout ten výsledek jak jsi uvedl :
X.Value tedy Cells(1, 1).Value = Application.Evaluate COUNTIFS(R[1]C:R[" & r & "]C;""Poslat"")
píše to syntax error.
Musím to snad někam definovat jako funkci VBA??
Místo Range jsem napsal X. Parametr Evaluate je string. Proč nemáš nějaké proměnné definované nepoznám. Mně to připadá, že tu syntaxi jen hádáš.
Dej si do nějaké buňky tu funkci, podívej se co pak je ve .Formula a dělej to stejně. Hotovo.
Ahoj
Dim h integer
Range("c1").FormulaLocal = "=COUNTIFS(R[1]C:R[5]C;""Poslat"")" 'funguje ok
Range("B1").FormulaLocal = "=COUNTIFS(c2:c15; ""Poslat"")" 'jiný zápis vzorce,jine bunky
tohle v3echno mi funguje, nacpe se to do bunky a tu přečtu, ale potřebuju ten vysledek COUNTIFS nacpat do proměnné, třeba "h" , bez toho aby se používal krok do bunky.
a ten
Application.Evaluate("COUNTIFS(A5:A15;""Poslat"")") ...ten příkaz apli..eval.. má vrátit výsledek toho vzorce? ... prostě vrací jen error2015.
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku