< návrat zpět

MS Excel


Téma: Chyba při nastavení ověření dat pomocí VBA rss

Zaslal/a 11.5.2019 18:05

Zdravím, chtěl jsem nastavit jednoduché makro, které by na zvolenou buňku nastavilo ověření dat(List). Bohužel ani při pokusu makro nahrát záznamem (na kód jsem ani nesáhl) mi po spuštění Excel hází chybu Application-defined or object-defined error. Už si opravdu nevím rady. Zdá se, že Excelu vadí přímo stavba oné formule, což opravdu nevím proč. Chci jenom, aby Excel vzal ten kód a hodil do nastavení toho ověření dat. Mimochodem když to nastavím ručně (ten kód tam dám sám), tak vše bez problému funguje.

Range("X7:AB7").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:= _
"=POSUN(Program!$A$3;POZVYHLEDAT(1;(Program!$B$4:$B$30=$X$5)*(Program!$C$4:$C$30="Ano");0);0;COUNTIFS(Program!$B$4:$B$30;$X$5;Program!$C$4:$C$30;"Ano"))"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

Děkuji za veškeré rady

Zaslat odpověď >

#043346
avatar
Zkus zdvojit uvozovky v těch vzorcích ...=""Ano""..., ale to improvizujicitovat
#043368
elninoslov
Tak za :
1. Vo VBA sa používajú ENG vzorce, teda žiadne POZVYHLEDAT ale MATCH.
2. ENG oddeľovačom argumentov nieje ";" bodkočiarka/středník, ale "," čiarka.
3. Názov listu obalte do apostrofov "'"
4. Úvodzovka musí byť uvedená 2x, aby ju VBA interpretoval ako úvodzovku, inak je to totiž jeden z riadiacich znakov určujúci zač./kon. reťazca.

Výsledok
"=OFFSET('Program'!$A$3,MATCH(1,('Program'!$B$4:$B$30=$X$5)*('Program'!$C$4:$C$30=""Ano""),0),0,COUNTIFS('Program'!$B$4:$B$30,$X$5,'Program'!$C$4:$C$30,""Ano""))"citovat

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