Poradna - Vytvořil jsem si modul..
hlavní kategorie | zpět | + odpovědět na toto témaVytvořil jsem si modul.. - diskuze na toto téma |
Podařilo se mi vytvořit modul, který mi vytáhne ze stránky určitý text, ale potřeboval bych upravit tak, aby mi vytáhl jen část tohoto textu, jen tu část za mezerou, poradíte jak na to? A čomu na tom nerozumiete? Máte predsa nejakú premennú RETAZEC. Chcete z nej nechať časť za medzerou. Teda si tú medzeru nájdeme pomocou hľadania znakov - funkcia InStr(1, RETAZEC, " "). Teda "nájdi pozíciu medzery v RETAZEC a hľadaj od prvého znaku". Ak nenájde medzeru, dá číslo 0. Potom vo funkcii MID() vyberieme tú časť z RETAZEC, ktorá je od medzery o znak za ňou (preto +1, ak nebola medzera, tak 0+1=1, teda výsledkom bude celý text) a v dĺžke celého reťazca. Je jedno či tam bude posun za medzeru, stále chceme od neho akože toľko znakov, koľko RETAZEC mal, ale on nám vráti vždy iba toľko koľko ostáva v reťazci znakov. Čiže medzera spôsobí napr. vynechanie 3 znakov z 10, a my stále požadujeme 10 znakov, tak pri požadovaní 10 znakov zo zostávajúcich 6, dostaneme len 6. Takže vo VBA to bude RETAZEC = Mid$(RETAZEC, InStr(1, RETAZEC, " ") + 1, Len(RETAZEC)) a vzorcom v Exceli to bude =MID(B6;IFERROR(FIND(" ";B6);0)+1;LEN(B6)) v CZ to bude =ČÁST(B6;IFERROR(NAJÍT(" ";B6);0)+1;DÉLKA(B6)) Odpověď |