Příspěvky uživatele


< návrat zpět

Strana:  « předchozí  1 2

Zdravím, mám další prosbu. Dá se změnit popis tlačítka msgboxu?

př:
mám msgbox vbYesNoCancel (hodnota 3), který zobrazí tlačítka Ano, Ne, a Storno.
Možné odpovědi Ano, Ne, a Storno bych potřeboval změnit (změnit jejich text) třeba na "rozumím", "nerozumím", "vypnit to"

Pokud to nejde, tak mě prosím naveďte jak dosáhnout nějakého dotazu, čekajícího na odpověd od uživatele, který bude mít tři možnosti odpovědí

díky moc za váš čas

Hmm skvělé, takle mě to nenapadlo.. Přesně todle jsem potřeboval

BTW: sub jako název byl jen příklad.. 5

Díky moc

Zdravíčko, hledal jsem, ale nenašel následující problém..

Mám proměnnou ii, která nabývá hodnot 1 až 10. Pokud bude ii = 1 zavolej sub1, pokud ii = 2 zavolej sub2, atd.. až ii = 10 then call sub 10

Chtěl jsem to udělat následovně:
if ii = 1 then call sub & 1

ale to me nešlo, nedá se nějak volat script podle mých požadavků? aby pořadové číslo bylo ii

Díky moc

Mužete svůj požadavek trochu specifikovat? je to dost zapeklita tabulka a přesně nevím co a kam potřebujete. Zkuste ji zjednodušit a nechat tam jen věci co potřebujete doplnit a pak to muzete aplikovat do te vasi slozite..
A jeste bych poprosil, aby jste premyslel i sam..

Dobrý den, udelal jsem si makirko na doplneni zahlavi tabulky - prvni radek (vstupni data jsou bez zahlavi a jsou pokazde stejne, resp. jejich rozsah je stejny). Toto makro bude pouzivat vice lidi, tak jsem predpokladal, ze exportovana data mohou vlozit do A1, proto pokud nebude A1 prazdna chci celou oblast dat posunout o radek dolu na A2. Proto jsem si udelal jakysi citac radku:


Dim ii As Integer
Dim Bunka As Range

With Range("A:A")

For Each Bunka In .Cells
If Bunka <> "" Then ii = ii + 1
Next Bunka

ActiveSheet.Range(Cells(1, 1), Cells(ii, 255)).Select

If IsEmpty(Range("A1")) = False Then
MsgBox "Prostor pro zahlavi (radek 1) musi byt prazdny! Automaticky dojde k posunuti dat o 1 radek dolu", vbCritical
ActiveSheet.Range(Cells(1, 1), Cells(ii, 255)).Cut
ActiveSheet.Paste Destination:=ActiveSheet.Range("A2")
End If

End With


takže to spocita pocet neprazdnych radku, vybere, vyjme a vlozi do A2
Pak makro pokracuje na vyplneni zahlavi:


Range("A1").Select
ActiveCell.FormulaR1C1 = "Class"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Nazev"
Range("C1").Select
ActiveCell.FormulaR1C1 = "Objednani"
Range("D1").Select


Moje otazka tedy smeruje spise na ten citac radku.. Co kdyz bude napriklad jeden radek prazdny? Pak to vybere oblast o jeden radek mene, nez potrebuji.
Spise bych chtel, aby mi to pocitadylko reklo na jakem radku se nachazi posledni neprazdny radek a vyplivlo to jako nejakou promenou..

Mozna na to jdu od zacatku uplne spatne, ale necham se rad poucit.. Diky za Vas cas

Dobrý den, todle řeším textovými funkcemi. Například by jste chtěl textový řetězec v polovině obohatit o slovo "houby". U cesty k souboru to má výhodu, že ta první část v levo před změnou je stále stejná. Takže do B1 napíšem funkci =ZLEVA(A1;5) to nám vypíše z bunky A1 5 znaků. Pak napíšeme do C1 slovo "houby". Do D1 dáme vypsat zbytek znaků z původního takže třeba =ČÁST(A1;5;20) - začne na pátém znaku a vypíše 20 znaků.
Pak do E1 dáme sloučit všechny naše části. Já to píšu jednoduše: =B1&C1&D1
No asi víte, že pokud chcete potom překopírovat výsledek vzorce aby to byl text dejte vložit jinak - hodnoty
No určitě způsobů je více, ale chtěl jsem vám napsat jak to dělám já. Pokud se podíváte do napovědy na textové vzorce určitě vás napadne jak udělat ten váš konkrétní případ. Pokud ne, hodte to sem a já to zmáknu cobydup
Hezký večer

Hmm díky moc, to vypadá dobře.. Nevim přesně jak je to u funkci A, ale u NEBO jde 1-255 podmínek, takže máte pravdu "když" moc neřeší.. S tim podmíněným formátem je to taky dobrej nápad..
Možná ještě jedna otázečka:

Co když nějaký datum chybi? Excel to automaticky bere za 0 a to je pro potřeby tohoto příkladu nežádoucí. Ovšem mě se to stát může a v tu chvíli se musí buňka přeskočit a porovnávat to s následující.. řešil jsem to manuálně, že do prázdné buňky jsem dal =(bunka nalevo). Nejde nějak excelu říct "pokud je prázdno? pokračuj na nejbližsí hodnotu do prava" (protože v některých případech chíbí třeba 5 datumů a v tu chvíli se stejně musí zachovat podmínka že 1. datum musí být menší než třeba 8. datum)

Zdravím, melo to jit chronologicky za sebou, takze v tuto chvili mi je k nicemu <> (nerovna se), pac to nekontroluje jestli je datum 1 mensi nez 2, 2 mensi nez 3, 3 mensi nez 4, atd.. A pokud bude, jak pisete, D2 větší něž C2, tak je to v poradku, pokud tedy bude D2 mensi nez E2.. Z vasi odpovedi mam pocit, ze jste nepochopil co je to chronoligycky, vzestupne. Datum uplne vlevo je nejstarší a v pravo nejmladší. Diky, za vase vzorce, ale ty tento problem moc nerozlousknou..

Dobrý večer, řešil sem takovou zajímavou úlohu a zajímal by mě váš názor.
Podívejte se na přiloženou tabulku. Jednalo se o vzestupně, chronologické porovnání datumů,
tak jak jdou za sebou (data po sobě jdoucí mohli být stejný). Řešil jsem to pomocí fce "když" do které při správném výsledku byla vnořená další fce "když", která porovnávala následující data. Pokud byl vzorec vyhodnecen jako nesplňující podmínku zadání, tak to vypsano "nesedíXX", kde XX jsou sloupečky, mezi kterými není chronologický vzestupnost. To jen pro jednoduší dohledání haprujícího data.

=KDYŽ(C2>D2;"nesediCD";KDYŽ(D2>E2;"nesediDE";KDYŽ(E2>F2;"nesediEF";KDYŽ(F2>G2;"nesediFG";KDYŽ(G2>H2;"nesediGH";"ok")))))

Ve skutečnosti ta tabulka je mnohem obsáhlejší a musím porovnat několik desítek dat a to i na přeskáčku, ale to už pak jde jen o správné zapsání odkuzů na buňky. Ale princip je stejný.
Na vzorci je pak ještě aplikováno podmíněné formátování, ale to je jen kosmetická úprava pro lepší přehlednost.

Proto, kdyby někoho napadlo sofistikovanější řešení, mohl bych pro příště na podobný problém nahlížet z jiného úhlu. Díky za váš čas. S pozdravem

No pokud jde jen o to zobrazeni všech filtrovaných sloupců, není třeba makro.. Takže pokud toto není jen nějakou částí sofistikovanějšího makra zcala Vám postačí:

Data/filtr/zobrazit vše

Nebo si to hodit na panel nástrojů jako "tlačítko"

Pravej klik na panel nástrojů/vlastní/záložka příkazy/data/zobrazit vše a drag&drop přesunout na panel nástrojů

Takle to mám nastaveno a proč nevyužít možnosti excelu?

hmm jasně.. Tak to se omlouvám, teď když na to koukám je to holej nesmysl..
Stačilo se podívat do nápovědy:

=KDYŽ(JE.CHYBHODN(původní vzorec);"";původní vzorec)

Ve vašem případě: (upravil jsem i odkazy na bunky)

=KDYŽ(JE.CHYBHODN(SVYHLEDAT($D$6:$D$141;List2!$C$3:$D$214;2;NEPRAVDA));"0";SVYHLEDAT($D$6:$D$141;List2!$C$3:$D$214;2;NEPRAVDA))



Kdyby to furt nešlo písněte

No ted si nejsem jistej, ale mělo by fungovat:

=SVYHLEDAT(A2;A6:B7;2;NEPRAVDA)&KDYŽ(B2="#n/a";"0";"")

Samozřejmně ty pozice buňek si dejte svoje.. :)

Hmm takovéto úlohy řeším přes fci "svyhledat", neni problém propojit, resp. hledat v jine tabulce.
Autor techto stranek ma dobře popsaný návod jak na výše zmíněnou fci. Jakmile máte ve dvou tabulkách jednu hodnotu, která tyto tabulky spojuje (např. ID) neni problem..


Strana:  « předchozí  1 2

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse