Pokud to chápu dobře, tak stačí použít obyčejnou funkci KDYŽ.
P.
Např. pro buňku H5:
=KDYŽ(A5=""; H4; A5)
Toto lze vyřešit jedině makrem.
P.
Příklad pro buňku A1:
Sub Zapis_mesic_do_bunky()
If Range("A1").Value = "" Then
Range("A1").Value = Format(Date, "mmmm")
End If
End Sub
Příklad pro oblast buněk A1 až A100:
Sub Zapis_mesic_do_sloupce()
Dim radek As Long
For radek = 1 To 100
If Cells(radek, 1).Value = "" Then
Cells(radek, 1).Value = Format(Date, "mmmm")
End If
Next radek
End Sub
Automatické spuštění Excelu dle parametru (např. čas) lze nastavit ve Windows v "Plánovači úloh".
Makro bych pak vložil do události sešitu "Workbook_Open".
P.
Stačí pouze vyladit nastavení podmíněného formátování.
Dejme tomu, že máš tedy formát buněk nastavený na procenta, pak je nutné v podmíněném formátování u datových pruhů nastavit jako minimum Číslo = 0 a jako maximum Číslo = 1.
P.
Viz příloha:
Viz příloha:
Pokud to chápu správně a za předpokladu, že názvy listů budou vždy tvořit lineární číselnou řadu, pak by to šlo vyřešit přes podmíněné formátování pomocí vzorce a funkce NEPŘÍMÝ.ODKAZ a POLÍČKO.
P.
Principiálně pro buňku G1 (nižší číslo listu) a H1 (vyšší číslo listu), vybarví buňku na nižším čísle listu:
=NEPŘÍMÝ.ODKAZ(CONCATENATE("'"; ZPRAVA(POLÍČKO("názevsouboru"; A1); DÉLKA(POLÍČKO("názevsouboru"; A1)) - NAJÍT("]"; POLÍČKO("názevsouboru"; A1); 1))+1; "'!D1"); PRAVDA) = G1
Například takto:
ActiveSheet.Range("B400").End(xlUp).SelectPříkaz přidej na konec makra "Skryj".
P.
Co je míněno "konzistencnou" tabulkou? Myslel jste kontingenční tabulku? ;-) Pro KT by se musela upravit struktura dat...
Ve vašem případě bych asi radši řešil přes sumační sloupec, kde si údaje vysčítáte dle zadaného období, například přes funkci SUMIFS.
P.
Pro tento konkrétní případ bych se nebál použít i funkci SVYHLEDAT:
=SVYHLEDAT(H13; M18:T21; 3+K12; NEPRAVDA)Případně za předpokladu, že bude platit to co je v tabulce, tedy že počet kusů neovlivňuje cenu za kus, tak klidně takto:
=SVYHLEDAT(H13; M18:T21; 4; NEPRAVDA) * K12Nebo "složitěji", jak mě již předběhl Stalker ;-) přes INDEX a POZVYHLEDAT:
=INDEX(M18:T21; POZVYHLEDAT(H13; M18:M21; 0); POZVYHLEDAT(K12; M13:T13; 0))P.
Nastuduj si problematiku propojených závislých seznamů v Excelu. Google ti nabídne spoustu řešení a příkladů.
Řešení to bude ve dvou sloupcích, v prvním sloupci vybereš hlavní kategorii, a ve druhém se ti pak automaticky dle tohoto výběru nastaví předvolené možnosti.
P.
Napadá mě řešení bez tlačítek, přes událost listu - například přes BeforeDoubleClick nebo BeforeRightClick. Jinými slovy makro spouštět dvojklikem myši (resp. kliknutím pravého tlačítka myši) do příslušné buňky "řídícího" sloupce.
P.
Událost listu:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 And Target.Row > 1 Then
Call Služobná_cesta(Target.Row)
Cancel = True
End If
End Sub
Makro v Modulu:
Sub Služobná_cesta(radek)
If InStr(Cells(radek, 1).Value, "služobná cesta - ") > 0 Then
Cells(radek, 1).Value = Replace(Cells(radek, 1), "služobná cesta - ", "")
Exit Sub
Else
Cells(radek, 1).Value = "služobná cesta - " & Cells(radek, 1).Value
End If
End Sub
Viz také příloha:
Toto může vyřešit aktualizace ComboBoxu při změně v listu, viz událost listu "Worksheet_Change". Pro tvůj případ principiálně třeba nějak takto:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$F$1" Then
ComboBox1.ListFillRange = ""
ComboBox1.ListFillRange = "POSUN"
End If
End Sub
A co to třeba udělat přímo v buňce přes Ověření dat / Seznam? V buňce si navolíš formát jaký potřebuješ. Vybrané číslo pak bude mít požadovaný formát, ale s formátem seznamu zase hýbat nepůjde, maximálně si pomoci s lupou v sešitu pro zvětšení.
Úplně přesně netuším, co je cílem tohoto cvičení, tak jenom nabízím další alternativu :-).
P.
V příloze máš použitý prvek ze sady "Ovládací prvky formuláře". V tomto případě bohužel písmo zvětšit nejde. Zkus použít sadu "Ovládací prvky ActiveX" (viz karta Vývojář / Vložit).
P.
Já bych na to šel trochu z jiné strany a využil bych schopnosti Excelu vodorovně zarovnat na střed výběru.
Postup je jednoduchý:
1.) Obarvíš dvě buňky vedle sebe barvami, které chceš.
2.) Do levé buňky vložíš požadovanou hodnotu.
3.) Označíš obě buňky a ve "Formátu buněk", záložka "Zarovnání", vybereš v nabídce vodorovného zarovnání "Na střed výběru".
Požadovaného efektu dosáhneš, ale bude potřeba sloupec navíc.
P.
Viz příloha:
Dá se to obejít třeba tím, že nebudeš používat formát "Čas", ale vypreparuješ si z toho potřebné části přes textové funkce - tedy zvlášť hodiny, minuty a sekundy, vše převedeš na hodiny, a toto číslo pak bez problému vydělíš potřebnou základnou, abys dostal žádaný průměr.
P.
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.