To bohužel nejde, jelikož pokud nestanovíš spodní ani horní hladinu, tak hodnoty budou zobrazeny na neohraničené (nekonečné) ose
No, nejako sa mi to nezdá, ale netvrdím, že nemáš pravdu. Akurát miesto obrázku by to možno chcelo súbor, na ktorom by to riešiteľ mohol navrhované riešenie otestovať.
Na riešenie tohoto typu úloh je priamo stvorená funkcia Substitute (Dosadit).
@Paloo: krokovanie a debuggovanie makra - to by sa malo tesať do kameňa, to je skvelé, že to tu zmieňuješ
@Poki: na svoju obhajobu uvediem, že som hľadal v makre chybu, na ktorej to martinovi hnevá, optimalizáciu kódu som neriešil..
no, určite do nejakého kódu vo VBA, napadá ma napr. do kódu pre formulár, asi v ňom máš nejaké potvrdzovacie tlačítko alebo niečo podobné, tak doňho, nejaký ButtonClick event alebo čo...
Čo ten combobox v tom druhom vlákne, to už tiež funguje?
Mno, argumentom u msgboxu vbNo byť nemôže, čiže do úvahy pripadá iba vbOKOnly alebo vbYes, pokiaľ teda trváš na jednom tlačítku. Nakoľko ale máš nad tým podmienku if a ten msgbox vyskočí na základe splnenia podmienky tak asi select case je zbytočný a makro by sa malo ukončiť hneď po tom, čo odklikneš msgbox, čiže asi takto (zakomentoval som tie pôvodné riadky, ktoré tam pmn byť nemusia, ale netvrdím, že rozumiem presne tomu, o čo sa snažíš):For i = 2 To Worksheets("Databáze nabídek").Cells(65000, 2).End(xlUp).Row + 1
If c_Nabidky = Worksheets("Databáze nabídek").Cells(i, 2) Then
MsgBox("V databázi už tato nabídka existuje, je nutné zmìnit èíslo cenové nabídky", vbYes, "Nabídka už existuje")
' Select Case f_zprava
'
' 'Case vbNo
Exit Sub
' Case vbYes
' doDB = False
' End Select
' Else
End If
Next i
Ten Exit Sub je zakomentovaný z akého dôvodu?
Slo by nejak udelat, aby se vsechny ty slozity vzorce prepocitavali jen kdyz potrebuju?
To netuším, či sa dá takto niekde nastaviť.
Možno by pomohlo tie zložité funkcie zapísať cez pomenovaný vzorec, ale to by sa muselo vyskúšať, to pálim naslepo..
edit: každopádne, pokiaľ dokážeš obmedziť oblasti, na ktoré sa odkazujú tie skalárne súčiny tak, aby nevyhodnocovali celé stĺpce, ale len oblasti, v ktorých sú dáta, tak to by zrýchlenie prepočtu, a nie malé, samozrejme prinieslo...
Tých príčin môže byť mnoho, ich odstraňovanie je metóda pokusov a omylov. Skús preveriť používané oblasti jednotlivých listov, všetko ostatné premazať, skontroluj v správcovi názvov (Name manager) pomenované oblasti a chybné odstráň. Častou príčinou pomalosti je extenzívne používanie podmienených formátov. Ako hovorím, príčin môže byť mnoho. Môžeš skúsiť súbor list po liste skopírovať do nového súboru, to tiež niekedy zafunguje. Inak neviem, ten súbor pred sebou nemám, tak len hádam...
A kod 40848 ti vychazi 1.11.2012?
áno to je správne poradové číslo uvedeného dátumu
stačí teda napísať =Month(40848),
prípadne =Month(adresa bunky, na ktorú sa odkazuješ)
pre český Excel funkcia Month = Měsíc
formát bunky, z ktorej ťaháš dátum, upravovať nemusíš, pre excel je dátum poradové číslo, začínajúce od 1 pre 1-Jan-1900.
40842 je cislo pro 1.11.2012
mno PMN je to pre 26-Okt-2011 (v normálnom kalendárnom systéme, systém 1904 nepoužívam, páč nesie iné problémy).
Už som písal, normálne funguje funkcia Month, to s tým, akurát problém bude asi s tým 40842, čo pmn nie je dátum, ktorý uvádzaš ty, ale ja...
No, máš asi nejaký fajný kalendárny systém, pokiaľ 408008 má byť 1-Nov-2012. Normálne funguje funkcia Month, ale keďže 408008 je poradové číslo priradené dátumu 31-Jan-3017, prípadne 1-Feb-3021 v prípade použitia kalendárneho systému 1904, tak naozaj netuším ako z 408008 dostať 11. mesiac
Cez ListIndex property, Index prvej položky v Comboboxe je 0, takže musíš pripočítať 1.
[A1] = UserForm1.ComboBox1.ListIndex + 1
Dnes() je volatilná funkcia, pokiaľ ju máš v desiatkach vzorcov, tak sa daná bunka prepočítava pri každej zmene v ktorejkoľvek bunke vo workbooku...
Skús si, pokiaľ potrebuješ porovnávať proti systémovému dátumu, dať tento niekam do premennej v kóde a odtiaľ ju napr. pri otvorení zošitu načítať do nejakej pomocnej bunky a odkazovať potom v bunkách, kde používaš Dnes(), na túto pomocnú bunku...
Kdyz upravim jakoukoliv bunku, tak vse zacne prepocitavat, coz trva asi sekundu.
Toto môže byť spôsobené volatilnými funkciami - chcelo by to nejaký príklad tých vzorcov. Pokiaľ v nich používaš funkcie ako Dnes, Posun, NepriamyOdkaz apod. tak problém je zrejme v nich.
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.