Nedal jsem si tu odkaz na článek, tak ho dám teď ;)
http://elcha-en.blogspot.com/2016/01/how-to-remove-diacritical-marks.html
@elninoslov
S těmi testy je to problém. Co se týče optimalizace rychlosti VB6 (tedy i VBA) si můžete přečíst tady.
http://www.aivosto.com/vbtips/stringopt.html
Tzn podle toho se metody 2 a 3 dají ještě optimalizovat pomocí Instr. Je totiž nesmysl projíždět všechny znaky toho řetězce, když originál má např. jen 5 písmen, tedy je kratší. Podle mne některé bazmekznaky do řetězce prostě nedostanete. Můžete to zkusit obejít tak, že nepoužijete řetězec, ale číselné pole z kódy znaků a použít fci Chr nebo asi lépe ChrW.
Mé řešení má výhodu, že toto řešit nemusíte - bazmekznaky už jsou prostě zahrnuty. Jenže nemůžete zaměnit více znaků najednou - musíte jet jeden znak za druhým - takže čím delší text, tím bude asi pomalejší než 2 a 3. Pro mne je zásadní výhodou ta univerzálnost.
@elninoslov
A co Collection?
Co jsou bazmekznaky?
Už asi chápu
ñÑŏŎőŐòÒśŚŝŜũŨŵŴ
Tan seguro.
Tak určitě.
@VlastaF
Také jsem nad tím chvíli uvažoval. Jenže co takový doktor docent inženýr vědátor. To je fyzická osoba a má tečku ;) .
@vovka
teď jen spekulace.
Nevidím do hlavy člověku, který tu nápovědu psal. Tipuji, že tím chtěl dat najevo právě to, že je to jedno. Ale asi bychom se museli zeptat přímo jeho.
Druhá možnost je to otestovat přímo ve VB6, jestli tam je nějaký rozdíl. Ale vzhledem k tomu, že je to jazyk-dědeček a navíc není zadarmo, tak to testovat nebudu.
Pro mně je důležité, že?format(0.15,"NN")vrátí totéž co?format(0.15,"nn")
@DAAL
VSTO jsem zkoušel asi před měsícem asi hodinu - na virtuálu, takže to byla otrava to vůbec nainstalit, natož v tom dělat (tenhle stroj se na to moc nehodí ;) ) - a skončil jsem ve stejné fázi jako Palooo. Nevím, jestli ta hláška byla stejná.
Takže váš příspěvek rozhodně nebyl zbytečný - pravděpodobně jste mi ušetřil nějaký čas, až se tomu začnu věnovat seriozně (doufám, že brzy) ;)
Btw:
Není lepší naDAAL než aDAAL ;))
@vovka
eLCHa se píše s velkým L ;)
https://msdn.microsoft.com/en-us/library/office/gg251755.aspx
Tady jde o VBA, není třeba do toho tahat kalendářní systémy.Private Sub UserForm_Initialize()
TextBox1.Text = Format(0, "hh:nn")
End Sub
Private Sub SpinButton1_SpinUp()
TextBox1.Text = Format(TimeValue(TextBox1.Text) + TimeValue("00:30"), "hh:nn")
End Sub
Private Sub SpinButton1_SpinDown()
If Not TextBox1.Text = "00:00" Then
TextBox1.Text = Format(TimeValue(TextBox1.Text) - TimeValue("00:30"), "hh:nn")
End If
End Sub
@mikin92
šel jste na to dobře, jen místo těch "=" patří ";" - oddělovač argumentů=KDYŽ((COUNTIF(A2;"*s.r.o*")+COUNTIF(A2;"*a.s.*"))=0;"fyzická osoba";"právnická osoba")u toho s.r.o si dávejte pozor
"s.r.o" <> "s.r.o."
@lopi007
Jedná se o podmíněné formátování.
Problém je, že bylo pravděpodobně vytvořeno ve verzi excelu 2010 a z nějakého důvodu se v excelu 2007 vůbec nezobrazuje.
Dá se objevit následujícím způsobem:
1. Nejdříve odstraníte všechny listy, aby zůstal pouze ten s externím odkazem (snadněji se vám bude hledat v zipu).
2. přejmenujete xlsm na zip, vlezete dovnitř
3. přejdete do složky worksheets a zobrazíte si sheet1.xml
4. Našel jsem tohle:<extLst>
<ext uri="{78C0D931-6437-407d-A8EE-F0AAD7539E65}" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main">
<x14:conditionalFormattings>
<x14:conditionalFormatting xmlns:xm="http://schemas.microsoft.com/office/excel/2006/main">
<x14:cfRule type="expression" priority="2" id="{188A3136-432E-4D9D-B28D-F36D03E3ABDF}">
<xm:f>$C$3=[1]data!#REF!</xm:f>
<x14:dxf>
<fill>
<patternFill>
<bgColor theme="0" tint="-0.14996795556505021"/>
</patternFill>
</fill>
</x14:dxf>
</x14:cfRule>
<xm:sqref>C6</xm:sqref>
</x14:conditionalFormatting>
<x14:conditionalFormatting xmlns:xm="http://schemas.microsoft.com/office/excel/2006/main">
<x14:cfRule type="expression" priority="1" id="{C5FA7934-8150-4482-B683-C1378A7A7A6B}">
<xm:f>$C$11=[1]data!#REF!</xm:f>
<x14:dxf>
<fill>
<patternFill>
<bgColor theme="0" tint="-0.14996795556505021"/>
</patternFill>
</fill>
</x14:dxf>
</x14:cfRule>
<xm:sqref>C14</xm:sqref>
</x14:conditionalFormatting>
</x14:conditionalFormattings>
</ext>
<ext uri="{CCE6A557-97BC-4b89-ADB6-D9C93CAAB3DF}" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main">
<x14:dataValidations count="2" xmlns:xm="http://schemas.microsoft.com/office/excel/2006/main">
<x14:dataValidation type="list" allowBlank="1" showInputMessage="1" showErrorMessage="1">
<x14:formula1>
<xm:f>#REF!</xm:f>
</x14:formula1>
<xm:sqref>C11</xm:sqref>
</x14:dataValidation>
<x14:dataValidation type="list" allowBlank="1" showInputMessage="1" showErrorMessage="1">
<x14:formula1>
<xm:f>#REF!</xm:f>
</x14:formula1>
<xm:sqref>C3</xm:sqref>
</x14:dataValidation>
</x14:dataValidations>
</ext>
</extLst>
Mno a to x14 jsem si vysvětlil jako verze excelu 14.0 - tedy pokud se nepletu 2010. Zkusil jsem ten váš soubor otevřít ve 2013 a tam je to vidět...
</x14:conditionalFormatting> - tedy verze 14 a podmíněné formátování
a možná i ověření dat
</x14:dataValidations>
To už jsem nezkoumal. Soubor už jsem smazal a všiml jsem si toho až tady ;) .
Legrace, ne?
a = VZZ_nazev(k)do proměnné a přiřazujete jedinou hodnotu z pole VZZ_nazev. a tedy není pole a protoIf ucet = a(x) Thenhlásí chybu
Teoreticky to lze. Nastavením oblasti tisku se vytvoří pojmenovaný odkaz (v českém excelu) Oblast_tisku.
Tomuto odkazu můžete přořadit vzorec, např.:=KDYŽ(List1!$A$1=1;Oblast1;KDYŽ(List1!$A$1=2;Oblast2;Oblast3))
Oblast1, Oblast2, Oblast3 jsou předem pojmenované oblasti, které představují vaše oblasti tisku
Vím co myslí.
V google sheets to krásně funguje - přímo v ověření dat. Začnete psát a položky se filtrují dle napsaného textu.
V excelu je třeba použít Combo box.
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.