Stránka 1 z 2
excel - visual basic
Napsal: 14 pro 2014 00:03
od nospe
Zdravím, prosím poradí mi někdo co je tady špatně? Nedokážu přijít na chybu, že proč mi furt píše, že datum není správně. Dělali jsme to ve škole a tam mi to myslím fungovalo... Předem děkuji za rady...
http://ulozto.sk/xNDqDsrQ/cvvvvvvvvvv-xlsm
Re: excel - visual basic
Napsal: 14 pro 2014 00:07
od Uziv00
dej to sem jako přílohu. Avýpis vba do code.
Re: excel - visual basic
Napsal: 14 pro 2014 00:10
od nospe
Nevšiml jsem si, že je tady taková možnost. Tak tady..

Re: excel - visual basic
Napsal: 14 pro 2014 00:44
od Uziv00
První věc, která mě napadá je, že by to mohlo záviset na zápisu data. Standardně v USA není ",", ale "/".
Druhá věc:
http://wall.cz/index.php?m=topic&id=17651To asi bude ono, protože zmíněný soubor mi na W7/Off2010 funguje.
Re: excel - visual basic
Napsal: 14 pro 2014 13:59
od nospe
Ty tečky místo lomítka by měli být v pořádku a v tomhle chyba by neměla být. A tomu odkazu moc nerozumím... Ve VB se až tak moc nevyznám, ale pokud jde o ten win8 tak ten nemám. Spíše mi šlo o to jestli se někdo nepodívá na ten kod a jestli tam nevidí nějakou chybu, protože ja fakt nevím...
Re: excel - visual basic
Napsal: 14 pro 2014 14:08
od d1amond
Rovněž mi to funguje na W7/Off2013. Dej sem screen s tou chybou, případně i screen s debug.
Zkus v té kontrolní fci přetypovat ten string
If IsDate(CDate(datumText)) Then
Úplně mi není jasné, proč potřebuješ na to datum pomocný list? Chápu ho jen na ty parametry pro combobox. Zbytečně si tam komplikuješ další mezikrok.
Re: excel - visual basic
Napsal: 14 pro 2014 14:54
od nospe
Screen nemá smysl dávat, protože mě to prostě pořád vyhodí hlášku "Datum neni spravne" a ve VB mi žádný error nehlásí. Jen prostě jako bych tam dal datum třeba 31.2.1990. A to na pomocný nám tak říkali ve škole a myslím proto, aby se datum tam nemohl dat přepisovat nijak...ale jdu zkusit ještě přetypovat ten string jak jsi napsal..
EDIT: tak jsem to zkusil upravit a teď mi hodilo error právě na ten upravený řádek.. If IsDate(CDate(datumText)) Then
Re: excel - visual basic
Napsal: 14 pro 2014 15:59
od d1amond
Máš nainstalované aktualizace Office? Resp. na jakých OFF to zkoušíš?
CDate je vnitřní fce VBA, stejně jako IsDate, tzn. že u Tebe je chyba již ve výsledku této fce a jdeš rovnou na chybu v případě hodnoty FALSE u těchto funkcí.
Zkus tu kontrolu vynechat a vlož to datum do buňky rovnou z toho spojeného řetězce - co to tam vloží za hodnotu?
Re: excel - visual basic
Napsal: 14 pro 2014 16:30
od Uziv00
Re: excel - visual basic
Napsal: 14 pro 2014 16:47
od nospe
Mám Office2013. A nevím jestli jsem udělal správně to co jsi mi napsal ať zkusím, ale tak prostě vložilo mi tam pak údaje s tím datem bez ohledu na to jestli je reální nebo ne... A na ten link jsem se podíval i zkusil jsem něco podle toho, ale nepomohlo mi to, no je možný, že jsem něco napsal špatně, protože já s VBA dělám něco poprvé.
Re: excel - visual basic
Napsal: 14 pro 2014 17:56
od d1amond
Vzhledem k tomu, že nám oběma to jde a Tobě ne, chyba nebude v kódu. Jak říkám, zkontroluj si aktualizace .net frameworku a Office.
Jinými slovy, v kódu chyba není.
Stáhl jsem to znova a na W7/Office2007 rovněž funkční.
Zkus to stáhnout, když to sem vložím. Dám oba formáty, jak XLS tak i XLSM
Re: excel - visual basic
Napsal: 15 pro 2014 07:03
od eLCHa
Sory - ale motáte se pořád dokola
zkuste napsat funkci takto
Kód: Vybrat vše
Private Function KontrolaData() As Boolean
On Error Resume Next
KontrolaData = DateSerial(Range("C8").Value, Range("C6").Value, Range("C4").Value)
On Error GoTo 0
End Function
a dejte vědět