Ano, tu událost listu máš definovanou špatně.
Zbytek případně upřesni, vzhledem k tomu kódu to nedává smysl :-)... Chceš, aby to hodilo hlášku pouze v případě, kdy budou všechny buňky v daném rozmezí vyplněny?
P.
Ukázka zápisu události:
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
Toto přímo vzorcem ošetřit asi nepůjde.
Záleží také na tom, podle čeho je naformátována zdrojová buňka. Pokud by byla formátována např. pomocí podmíněného formátování, tak už by s tím třeba něco šlo udělat :-).
Případně by to určitě šlo vyřešit přes VBA, dle nějaké podmínky či události překopírovat nejen hodnotu buňky, ale i formát.
P.
Odpovědi se ti už přece dostalo...
http://wall.cz/index.php?m=topic&id=15889#post-15905
Funkce z Excelu lze zavolat i ve VBA.
P.
Viz:WorksheetFunction.VLookup(...)
Já to pochopil tak, že chce nastavit pohlaví v OptionButtonu dle hodnoty z ComboBoxu.
Pokud to tak je, tak se to řeší přes událost Change v příslušném ComboBoxu.
P.
Viz příloha:
Je třeba si tu funkci nastudovat, třeba v nápovědě Excelu, případně např. zde:
http://office.microsoft.com/cs-cz/excel-help/cetnosti-funkce-HP010342543.aspx
Podrobný návod jak udělat intervaly v Excelu 2003 je i na videu, ve vyšších verzích je to stejné:
http://www.youtube.com/watch?v=GNDQglIf4rU
Z toho to určitě pochopíš, je třeba označit celou oblast, kde mají být výsledky příslušnosti k intervalu, a vzorec uložit jako matici (CTRL+SHIFT+ENTER).
P.
Také nevíme, proč ti to nefunguje :-).
Přidej přílohu...
P.
Zkoušel jsem a vážně to nejde ;-), Excel to bere tak, že to tam není...
Pokud ale bude sešit chráněný heslem, tak bys mohl např. nastavit hodně malou šířku sloupce, tak aby to ještě vzalo data do grafu, ale aby to uživatel neviděl. Zkoušel jsem to a např. s šířkou 0,08 (1 pixel), to funguje dobře.
P.
Přesně tak.
P.
Ano, lze to udělat.
P.
Např. takto:
Private Sub UserForm_Initialize()
Application.OnTime Now + TimeValue("00:00:02"), "Uzavri_Formular1"
End SubSub Uzavri_Formular1()
UserForm1.Hide
Unload UserForm1
End Sub
Chtělo by to asi přílohu.
Z toho co píšeš, se moc nedá odvodit, kde je potřeba nápravy :-). Zřejmě ale potřebuješ nějak využít události Change, případně dalších vhodných událostí...
P.
Př. využití:Private Sub TextBox2_Change()
'příkazy
End Sub
Šlo by to například přes Filtr.
Označ si dané sloupce, zvol Data/Filtr, odškrtni políčko Prázdné a výslednou tabulku překopíruj někam jinam s pomocí Vložit jinak/ Hodnoty (případně co potřebuješ...).
P.
Přečti si to, co je v odkazu, co jsem přiložil výše, tam je o té funkci vše.
Jsou tam i příklady...
P.
Př. pro buňku D1:=SVYHLEDAT(A1;B:C;2;NEPRAVDA)
@eLCHa: Myslím tím takové řešení, které bude dostatečně jasné, pochopitelné a "průhledné" pro daného uživatele. V tomto případě předpokládám, že uživatel nezná VBA, takže by mu kód nic neříkal a navíc by to pro něj bylo nepřenositelné řešení.
Dobrý dotaz ;-).
P.
Jednoduchá pomoc ;-), stačí vytvořit pomocný sloupec a využít funkci SVYHLEDAT.
Případně by se muselo udělat nějaké makro, ale první řešení je jednodušší a transparentnější...
P.
Info např. zde:
http://office.microsoft.com/cs-cz/excel-help/svyhledat-HP005209335.aspx
JOHAN: To podle mě nefunguje... Zkoušel jsem to s funkcí ZNAK, ale klasický COUNTIF, co je v Excelu, není citlivý na malá a velká písmena.
eLCHa: Může tam být problém v tom, že nemusí mít všechny buňky vyplněné, takže SUMA pak bude zlobit.
Nabízím další možné řešení... Třeba bude fungovat ;-).
P.
Např.:=SOUČIN.SKALÁRNÍ(STEJNÉ(D10:BI10;"D")*1)
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.