Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  7 8 9 10 11 12 13 14 15   další »

Ahoj. Podívej se do svého VBA kodu, tam bude problém.
Běžně to funguje.
function MojeAdresa() as string
MojeAdresa = Application.Caller.Address
End Function

(nebo pošli vzorek)
R.

Tvoje zadání mi funguje s vzorcem
G3 =KDYŽ(JE.CHYBHODN(KDYŽ(INDEX(B4:C51;POZVYHLEDAT(B3;B4:B51;0);2)=C3;1;0));0;KDYŽ(INDEX(B4:C51;POZVYHLEDAT(B3;B4:B51;0);2)=C3;1;0))
Všimni si ale svého zadání.
Pokud budu bunku B3 porovnávat s bunkou B3:B51 tak je jasné, že obsah B3 = B3 a není nutný další vzorec.
Tento funguje na oblast B4:B51 kdy se hledá B3 a pokud se najde pak se porovná se sloupcem C na stejném řádku.
Ve sloupci G dostaneš nulu nebo jedničku, které můžeš sečíst.
Plně souhlasím se "Stalker"em ... pokud máš takový problém a nevíš jak na to, tak vytvoř vzorek kde bude jasné co s čím chceš počítat. Stačí list vykopírovat do nového sešitu a své tajné data nahradit blábolem. je to rychlejší a ostatní si nemusí lámat hlavu někdy zbytečně.
R.

:))) ... tak to ja ... to už je aplikace. Ať se daří !
R.

Ahoj. Potřeboval jsem to už dávno, tak si to přesně nepamatuji, když tak pardon. Pokud si pamatuji, pak range nebo cells vlastní Interior.ColorIndex a ten obsahuje barvu pozadí bunky.

Je v tom háček. V případě podmíněného formátování, to nefunguje. Dostaneš barvu definovanou pro bunku. Podmíněné formátování tu buňku přebarví na jinou barvu, ale to se nedozvíš. Pokud jsem se díval na object FormatConditions pak jsem nenašel nic co by ukazovalo na stav ve kterém buňka je.

Podle mne to co chceš, nejde udělat do Ex 2003.
R.

Ahoj ;-) už jsem tu zas :) Tak rozsáhlá věc je už na zvážení, proč to mít v Excelu. Předpokládám, že to není nárazová věc ale že to opakuješ často, nebo děláš trvale. Myslím si, že na to se Ti už hodí nějaká databáze. Třeba MySQL, je to jedno. V rámci Excelu, je pak lepší vytvořit makro, které aktivní list, přečte a nahraje do DB. Je to jedno, jestli do jedné, nebo do více tabulek. Podle toho co popisuješ, by to byla DB se třemi tabulkami v relačním uspořádání. Když znáš základy SQL, pak jednoduché selecty stačí na Tvé požadavky. Myslím si, že když toho je tolik, pak Excel není vhodný na ukládání a zpracování. Z Excelu do DB a z toho pak zpět do Excelu to co potřebuješ. Můžeš ukládat a ukládat. Když dostaneš další zadání, pak ve Tvém případě, musíš zpracovat znovu vše. V mém případě, jen sestavíš jiný select. Zvaž.

Pokud jsi amater a fušuješ do IT, pak je ještě možnost vytvořit web stránku na servru s APACHE, PHP a MYSQL a mít jen excel, který třeba sestaví data do textového řetězce a otevře web stranku kde bude jen textarea + button na uložení. Uživatel, jen vloží data ze schránky a je vymalováno. Je to lepší a jednodužší, než posílání souborů e-maile. Problém bývá pak jen mezí židlí a klávesnici, v závislosti co za bandu useru máš :)

R.

Function den_v_tydnu_en(datum As Variant) As Variant
Dim cMoje_dny
cMoje_dny = Array("Hnusné pondělisko", "TUESDAY", "WEDNESDAY", "THURSDAY", "Paťulinek", "Sobotěnka", "Nedělinka")
If Not IsDate(datum) Then
den_v_tydnu_en = CVErr(xlErrValue)
Exit Function
End If
den_v_tydnu_en = cMoje_dny(Weekday(datum, vbMonday) - 1)
End Function

A1 ... =PERSONAL.XLS!den_v_tydnu_en("2010-01-19")

Sice vevím kolik těch řádků máš, ale pokud se za všechny vejdeš do 65536 pak bych Ti silně doporučil Nakopírovat vše do jednoho listu, každý soubor oddělit nějakým spec. názvem nebo jménem spol apod. pojmenovat oblast DAT a na dalším listě sestavit kriteria plus výpočty pro DSUM, DPOČET a pod. Specifické výpočty můžeš provádět ručně, a co potřebuješ často pomocí makra ... do jedné muňky napíšeš hodnotu , zavoláš calculate a z druhé si přečteš výsledek ... nádhera. Pokud DSUM neznáš, pak je to totéž co Tvé dotazy. Rychlost a jednoduchost asi nesrovnáš. Zvaž.

Docela mě to zajímá. Ten obrázek je nefunkční. Můžeš poslat celý sešit ???

Ještě k tomu výsledku. Ty Tím zjistíš pouze počet výskytu SM ??? Je to tak správně ?

... Nechceš poslat vzorek ???

Sice to neznám, ale pokud do FROM vložíš [" & List & "$A9:R57]" (musíš mít C9:C57) pak to bere sloupce 9 až 57 což je I až BE, za předpokladu, že to žere RC konvenci.
SQL syntaxe je na webu taky k dispozici, můžeš se seznámit. Do FROM se vloží tabulka ... v případě excelu je to asi oblast buněk kde v prvním řádku jsou jedinečné názvy a pod těmito názvy jsou jednotlivé řádky databáze. Tj. předpokládám, že řádek 1 máš plný názvů. Moc Ti nevěřím, že se jedná o sloupce F1,F2 apod. To by to MSOFF docela skopal. Může to fungovat, za předpokladu, že do řádku A nadatluješ text F1,F2,F3 atd až max F256.

Jedinečný název ??? nevím, asi bych nedělal mezery a nepoužíval diaktriku.

Co se týče WHERE je to asi taky mimo.
[" & List & "$C7:C57] ... to je velká oblast ´která se má rovnat 'SM' ... tak to nefunguje ... dotaz se dává na jeden sloupec v rámci oblasti a proto jsou v prvním řádku daného sloupce jedinečnný název na který se odkazuješ ve svém SELECTu a nebo je zřetězíš přes AND,OR,XOR nebo NOT.
Když už tak [" & List & "$C7]='SM'" pak to bude hledat ve sloupci G2:G65536 řádky které obsahují 'SM'

Pokud to tedy žere RC konvenci, pak
Dotaz = "SELECT f1 FROM [" & List & "$A9:R57] where F3='SM'"

Dotaz = "SELECT f1 FROM [" & List & "R9:R57] where F3='SM'"
Za předpokladu že V buňce I1 až BE1 nejsou prázdné, nemají stejné jméno, asi že nezačínají číslem a že v jedné z těchto buněk je napsáno "F3"

Stejně Ti nerozumím. Ty to posíláš zpět na excelovský list ??? nebo do externí databáze ???

Pokud je to do na excelovský list tak to nepoužívám, takže nevím. Pokud se nad tím zamyslím, tak mi to připadá stejně divné. Ty to předáváš do proměnné dotaz, takže je to celé asi string. Podle mě to nemůže fungovat.
Jak tento dotaz provedeš (spustíš)???

Ahoj. CO TO JE ??? Tvůj požadavek mi připadá nesrozumitelný. Oa jaké ADO se jedná ??? To používáš v VB v Excelu ? Já ADO v Excelu použínám roky, a tohle jsem neviděl. Zkus to udělat formou procedury, která Ti sestaví SQL dotaz se vším co potřebuje. Ověř si každou proměnnou a správně rozlišuj string apod. tj apostrofy.
Na konci, před voláním DB použij Debug.Print a podívej se co jsi stvořil. Až pak to posílej do DB. jak jinak chceš najít, kde Ti to chcípe ? Posílat neověřený dotaz do DB.

Jinak odpověď na Tvou otázku je např:
... WHERE F4 = 'SM'
... WHERE F4 LIKE ('SM%')
... WHERE F4 LIKE ('%SM%')
... WHERE F4 LIKE ('%SM')

Pokud se nepletu, pak ADOBE je v ActiveX ... tak zkus vytvořit objekt CreateObject("???") ... otevři soubor, vytiskni a zavři + uvolni paměť. Pokud použiješ ScreenuUdating = false ... tak se ani myš nepohne. Krom Tebe nikdo nepozná jak jsi to vytisknul.
Poznáš to jen ve správci programu, že se vytvořil nový proces, který zase po čase zmiznul ;-)

R.

F37 =KDYŽ(JE.CHYBHODN(PRŮMĚR(KDYŽ(F5:F35-PRŮMĚR(F5:F35)>=SMODCH(F5:F35);"";F5:F35)));0;PRŮMĚR(KDYŽ(F5:F35-PRŮMĚR(F5:F35)>=SMODCH(F5:F35);"";F5:F35)))

F38 =KDYŽ(JE.CHYBHODN(SMODCH(KDYŽ(F5:F35-PRŮMĚR(F5:F35)>=SMODCH(F5:F35);"";F5:F35)));0;SMODCH(KDYŽ(F5:F35-PRŮMĚR(F5:F35)>=SMODCH(F5:F35);"";F5:F35)))

G37 =KDYŽ(JE.CHYBHODN(PRŮMĚR(KDYŽ(A(G5:G35-PRŮMĚR(G5:G35)>=SMODCH(G5:G35);SUMA(G5:G35)>0);"";G5:G35)));0;PRŮMĚR(KDYŽ(A(G5:G35-PRŮMĚR(G5:G35)>=SMODCH(G5:G35);SUMA(G5:G35)>0);"";G5:G35)))

G38 =KDYŽ(JE.CHYBHODN(SMODCH(KDYŽ(G5:G35-PRŮMĚR(G5:G35)>=SMODCH(G5:G35);"";G5:G35)));0;SMODCH(KDYŽ(G5:G35-PRŮMĚR(G5:G35)>=SMODCH(G5:G35);"";G5:G35)))

Čau R.

Krapl Ti napsal abys tam vložil NEBO ... zkoušel jsi to ?

Můžeš vypočítat správný výsleddek vedle toho špatného ??? ... kde se máme dostat
R.


Strana:  1 ... « předchozí  7 8 9 10 11 12 13 14 15   další »

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

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.

On-line nástroje