Vlož přílohu...
P.
Hodně záleží na tom, jakým způsobem jsi pás karet upravoval (resp. vytvářel). Podle toho se ti bude (nebo nebude) standardně zobrazovat ve všech excelových sešitech. Nechci střílet do tmy, tak to zkus trochu více popsat ;-). Případně přilož přílohu...
P.
Lze řešit přes VBA událostí daného prvku.
P.
Pro CheckBox z Ovládacích prvků ActiveX:
Private Sub CheckBox1_Change()
If CheckBox1.Value = True Then
Sheets("List2").Visible = True
Else
Sheets("List2").Visible = False
End If
End Sub
Pokud tomu tedy dobře rozumím, tak chceš, aby se ti na každém řádku zobrazila šipka dle určitých parametrů.
Pro tento případ například:
1.) Zelená šipka nahoru, pokud je požadavek menší než sklad.
2.) Žlutá vodorovná šipka, pokud je požadavek roven skladu.
3.) Červená šipka dolů, pokud je požadavek větší než sklad.
Asi bych tedy nevymýšlel nic složitého, udělal bych třetí sloupec, kde bych měl vzorec sklad mínus požadavek, který bych následně podmíněně formátoval. V nastavení tak nebudeš muset používat Vzorec, ale jenom Číslo (Hodnota = 0). Pak nastav vhodně intervaly a máš vystaráno. Pokud bys chtěl zobrazit jenom šipku, tak lze navíc zatrhnout "Zobrazit pouze ikonu".
P.
Přesně jak píše AL, u mě také funguje správně.
K problémům tohoto typu mě napadá následující:
1.) Mohlo se jednat o jednorázovou (nestandardní) situaci.
2.) Je vhodné otestovat, jestli ti to dělá jenom v tomto sešitu. Ověří se to tak, že si vytvoříš sešit nový a pouze překopíruješ a otestuješ onen kritický řádek kódu.
3.) Někdy se mi podobné věci stávají, když mám v kódu breakpointy a krokuji makru. Řešením je spuštění makra bez breakpointů. Nebo můžeš naopak breakpointy přidat, a postupně makro krokovat, abys věděl, kde přesněji je problém.
P.
Vlož přílohu s ukázkou...
P.
Z toho, co píšeš, předpokládám, že využíváš tlačítko ze sady "Ovládací prvky formuláře". Tam jde přiřadit primárně pouze jedno makro. Z jednoho makra lze ovšem volat jiné makro, příp. několik maker. Dá se to tedy vyřešit tak, že si uděláš makro, které nebude dělat nic jiného, než volat jiná makra.
Sub Makro_ktere_vola_jina_makra()
Call NazevMakra1
Call NazevMakra2
Call NazevMakra3
End Sub
Dalším řešením je využití jiného typu tlačítka - Ovládací prvky ActiveX (Vývojář / Vložit). U tohoto typu tlačítka lze psát kód přímo pro dané tlačítko.
Private Sub CommandButton1_Click()
Call NazevMakra1
Call NazevMakra2
Call NazevMakra3
End Sub
Možností je více.
P.
Zkus to s přílohou, ať máme jasnější představu.
Každopádně pokud chápeš ten vzorec, co máš výše, tak bys neměl mít problém jej upravit na požadované parametry...
P.
Díval jsem se, že něco podobného se tady již dříve řešilo:
http://wall.cz/index.php?m=topic&id=3324.
Kromě makra mě momentálně elegantnější řešení nenapadá.
P.
Přesně 3, nebo 3 a více?
Pro 3 a více by šlo třeba toto (formátování nastavit až od třetí buňky řady, resp. nad řadou musí být dvě volné buňky).
P.
Např. (od A3):
=KDYŽ(NEBO(A(A3<0;A2<0;A1<0);A(A4<0;A3<0;A2<0);A(A5<0;A4<0;A3<0));1;0)
K optimalizaci sešitu se asi nemá moc cenu vyjadřovat, když jej nevidíme, obecně tyto problémy nejčastěji způsobuje:
a) velké množství vzorců (příp. náročné vzorce),
b) velké množství dat,
c) malý výkon PC...
Jedním z řešení může být mj. vypínání automatických přepočtů (Vzorce / Možnosti výpočtů / Ručně), s tím, že budeš přepočítávat (F9) pouze při změně v sešitu.
K překopírování formátů z podmíněného formátování bez podmíněného formátování:
1.) Lze k tomu využít VBA a napsat si nějaké makro, kde si vlastně sám naprogramuješ formátování buněk dle podmínek, pak to budeš mít napevno a bez vzorců.
2.) No a pak vím ještě o jednom způsobu. Označ požadovanou tabulku, překopíruj ji do Wordu, a pak ji překopíruj zpátky ;-). Výsledek by měl být také dle požadavku, tedy zpátky se ti překopíruje formátování, ale bez podmíněného formátování.
P.
Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu. Přílohu...
P.
Video:
https://www.youtube.com/watch?v=9U7dT6euH1M
Český popis:
http://www.myartve.net/jak-vlozit-animovany-gif-souboru-v-aplikaci-excel/
První odkazy na Googlu ;-)...
P.
U formuláře si asi budeš muset pomoci s proměnnou typu Object. ComboBox pak lze zavolat klasicky přes "Controls.Item".
P.
Např.:
Sub Formulare_s_promennou()
Dim i As Integer
Dim j As Integer
Dim promenny_nazev_formulare As Object
Dim hodnota As Long
For i = 1 To 5
Set promenny_nazev_formulare = UserForms.Add("UserForm" & i)
For j = 1 To 5
hodnota = promenny_nazev_formulare.Controls.Item("ComboBox" & j).Value
Next j
Next i
End Sub
Lze využít následující příkazy (předpokladem je, že "xlsm" a "str" jsou v jednom adresáři).
Cesta k souboru:
ThisWorkbook.PathNázev souboru:
ThisWorkbook.NamePak už stačí jenom vhodně spojit s využitím ampersandu (&).
P.
Např.:
ThisWorkbook.Path & "\" & Mid(ThisWorkbook.Name, 1, InStr(1, ThisWorkbook.Name, ".", vbTextCompare) - 1) & ".str"
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.