V makru : countifs vyhazuje error – Visual Basic – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

V makru : countifs vyhazuje error – Visual Basic – Fórum – Programujte.comV makru : countifs vyhazuje error – Visual Basic – Fórum – Programujte.com

 

Pavel
~ Anonymní uživatel
383 příspěvků
5. 12. 2021   #1
-
0
-

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.

Připojen obrázek.

Nahlásit jako SPAM
IP: 31.30.175.–
Pavel
~ Anonymní uživatel
383 příspěvků
5. 12. 2021   #2
-
0
-
Nahlásit jako SPAM
IP: 31.30.175.–
gna
~ Anonymní uživatel
1891 příspěvků
6. 12. 2021   #3
-
0
-

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"")"
Nahlásit jako SPAM
IP: 213.211.51.–
Pavel
~ Anonymní uživatel
383 příspěvků
6. 12. 2021   #4
-
0
-

..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

Nahlásit jako SPAM
IP: 31.30.175.–
Pavel
~ Anonymní uživatel
383 příspěvků
6. 12. 2021   #5
-
0
-

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??

Nahlásit jako SPAM
IP: 31.30.175.–
gna
~ Anonymní uživatel
1891 příspěvků
6. 12. 2021   #6
-
0
-

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.

Nahlásit jako SPAM
IP: 213.211.51.–
Pavel
~ Anonymní uživatel
383 příspěvků
7. 12. 2021   #7
-
0
-

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.

Nahlásit jako SPAM
IP: 31.30.175.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

Podobná vlákna

QT error: Error code 62097 — založil QtProgramming

Error — založil karel

Error — založil Matyas

GL Error — založil Kenvelo

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý