Ahoj všem,
úplně se moc nevyznám v podmíněném formátování, tak prosím o pomoc zde.
Jedná se o takový malý triviální rezervační přehled aut, která vyjíždějí na různé akce (montáže).
Mám tabulku, ve které ve sloupci B vybírám pomocí rozbalovacího menu typ auta. Ve sloupci "C" a "D" je uveden časový interval, po který bude dané auto na "akci" ve městě uvedeném ve sloupci "A". Pokud někdo vybere stejný typ auta, který koliduje s termínem jiné akce, měly by se odpovídající řádky tabulky zabarvit oranžově.
Pokud možno bez VBA
Za jakýkoli nápad děkuji
Ahoj,
poradí prosím někdo, jak označit vyfiltrovaná data?
Vzorový soubor v příloze. Potřebuji pomocí tlačítka vybrat vyfiltrovanou oblast (budu ji následně kopírovat do jiného listu, ale to už doufám zvládnu, teď mi jde jen o to označení dat).
Díky moc
Pánové díky a smekám, tohle mě nenapadlo. Obě řešení fungují skvěle.
Ahoj,
v přiloženém ukázkovém příkladu mám tabulku, ve které zákazníkovi nabízím regály vždy daném počtu kusů (1, 50 a 100ks).
V buňkách I1 a J1 mám vzorce spojené s textem (používám funkci SUBTOTAL, jelikož si chci ve sloupci B filtrovat příslušná množství - zajímá mě celkový obrat a zisk v případě, že zákazník objedná vše po 1, 50 a 100 kusech). Lze nějak v tomto výstupu (buňky I1 a J1) nastavit oddělování po 1000 a zaokrouhlení výsledné hodnoty na 2 desetinná místa?
jako nejjednodušší řešení se nabízí vložit do jedné buňky pouze text (Celkový zisk v CZK) a do sousední buňky jen vzorec SUBTOTAl - ve vlastnostech buňky pak nastavit zaokrouhlovat na 2 desetinná místa a oddělovat 1000.
Tomuto řešení bych se rád vyhnul, jelikož bych musel do "ostrého" souboru přidávat další sloupce nebo řádky, což by mi rozhodilo zbylou adresaci (jsou tam další výpočty a návaznosti).
Otázka tedy zní, zda lze zaokrouhlování a oddělování 1000 nastavit v buňkách, ve kterých je text sloučen se vzorci.
Díky moc
funguje skvěle, díky moc
Dobré odpoledne,
poradil by mi prosím někdo, jaký VBA kód odpovídá níže uvedenému vzorci, který mám umístěný v buňce A2?
=KDYŽ(NEBO(D2="";JE.PRÁZDNÉ(E2));"";D2*E2)
zkoušel jsem níže uvedené, ale excel vždy hlásí chybu (run-time error '1004': Application-defined or object-defined error)
Range("A2").FormulaLocal = "=IF(OR(D2="";ISBLANK(E2));"";D2*E2)"
díky moc
díky moc. Na první pohled to dělá, to co má. Večer se na to podívám detialněji a dám vědět.
každopádně zatím děkuji
tady je vzorový soubor, ze kterého čerpám data. Ještě jsem aktualizoval tu původní přílohu, měl jsem tam ty znázorňující šipky omylem naznačené chybně.
jinak ty zeleně označené sloupce ze souboru kalkulation.xlsm vyplňuji já sám. Tu mezeru mezi záznamy tam dělám pro přehlednost záměrně.
Jinak i ty trojřádky jsou relativní, jelikož to většinou záleží na zákazníkovi, jaké počty poptá. Někdy je nutné nabídnout více sérií => např. ceny pro 50ks / 100ks/ 200ks / 500ks (i proto chci pochopit logiku řešení, abych si je mohl dle potřeby upravit).
Díky moc
Ahoj,
aktuálně řeším jednu opakující se úlohu, která jde určitě zjednodušit. Jde o to, že chci do tabulky doplnit ceny (cena za vzorek v jednom sloupci, cena v sérii ve druhém sloupci). Jednotlivé ceny, získávám z jiného xls souboru - jsou to ceny zkopírované do oblasti H2:H30. Tyto ceny potřebuji nyní přiřadit na odpovídající řádky. Logika přiřazení je patrná z přílohy. Napadá mě snad jen přiřadit k cenám (do sloupce G) příslušné číslo artiklu (Artikelnummer) a použít funkci SVYHLEDAT. Jenže tady pak narážím na to, že jednomu Artikelnummer odpovídají vždy 2 ceny (jedna pro vzorek, druhá pro sérii -> např. číslu 145875 odpovídá cena 98€ a 54€
Bohužel s poli, transpozicemi a maticemi mám velmi omezené zkušenosti, ale možná existuje jiné řešení. Pokud ne, tak se holt ponořím i do těchto oblastí, protože to nechci pouze zprovoznit, ale hlavně pochopit.
Transponovat data z řádku na sloupce dokážu přes kopírovat - vložit jinak - transponovat, případně jednoduchým maticovým vzorcem. Mezi cenami pro jednotlivé položky bude vždy pro přehlednost prázdná buňka (ve vzorovém souboru jsou tyto buňky označeny tyrkysovou barvou).
Snad je to srozumitelné :-) Poradí někdo prosím? Existuje řešení i pomocí vzorců nebo jen VBA?
V "ostrých" souborech se jedná většinou o desítky pozic, ke kterým je potřeba ceny přiřadit.
Díky, funguje to dle očekávání. Domnívám se ale správně, že je ale toto řešení nepoužitelné v okamžiku, když je daná oblast definována dynamicky?
Ahoj,
existuje nějaký rychlejší způsob, jak zaokrouhlit částky ve sloupci na dvě desetinná místa? Ve formátu buňky mám nastaveny 2 desetinná místa, nicméně excel počítá s číslem přesným tzn. včetně tisícin, desetitisícin apod.
jedná se mi v uvedeném příkladu o oblast D10:D200 s tím, že se mouhou vyskytovat prázdné řádky. Pro moje potřeby bude ve finále daná oblast dynamická, to už si ale ošetřím sám.
Jen mi to zaokrouhlení buňky po buňce přijde dost zdlouhavé. Neexistuje něco jako ROUND((Range"D10:D200),2)?
Private Sub CommandButton1_Click()
For Each cell In [D10:D200]
If cell = "" Then
cell.Value = ""
Else
cell.Value = WorksheetFunction.Round(cell.Value, 2)
End If
Next cell
End Sub
Ahoj,
rád bych měl v každém sešitu excelu standardní tlačítko pro změnu čísla na měnu. Po kliknutí na toto tlačítko by se změnilo číslo na měnu ve formátu "číslo" € (např. 4,55 => click => 4,55 €). Analogicky si pak udělám tlačítko na změnu měny na CZK, případně zpátky na obecné číslo.
Vlastní tlačítko na pásu karet vytvořím, ale jek správně přiřadit makro netuším. Zkoušel jsem je dávat do modulu, uložit, ale bohužel rozbalovací menu s makry dostupnými pro přiřazení je stále prázdné.
Může mě prosím někdo nakopnout? Díval jsem se na postup, který mi před časem vytvořil elnino v tématu "Hypertextový odkaz v outlooku", ale zřejmě se zprovoznění v excelu od outlooku poněkud liší.
Private Sub mena()
Selection.NumberFormat = "#,##0.00 [$€]"
End Sub
Dobrý den,
V příloze mám ukázkový příklad, ve kterém pomocí cells kopíruji konkrétní (jednotlivé) buňky. Je možné definovat resp kopírovat oblast buněk pomocí cells?
defakto potřebuji např. zápis
Worksheets("List2").Range("B7:D21") = Worksheets("List1").Range("B9:D23") nahradit zápisem pomocí cells, jelikož využívám cyklus DO WHILE a potřebuji se v případě neprázdné buňky posunout o 5 sloupců vpravo.
Napadá mě kopírovat každou buňku separátně, což znamená dalších 45 řádků kódu, ale možná to jde nějakou jednodušší cestou?
Logika kopírování je doufám pochopitelná z přílohy (pokud je pole B2 Listu 2 prázdné, uloží se data z Listu1 po kliknutí na tlačítko data do první tabulky na Listu2, pokud prázdné není, testuje se obsazenost pole G2 atd.)
Za postřehy děkuji
Miroslav
Díky moc, funguje skvěle. Existenci daného adresáře si ošetřím. Co se týče existence souboru o stejném názvu, nabídne excel sám možnost přepisu stávajícího souboru.
Problem solved
ještě jednou díky
Dobrý den,
poradí prosím někdo, jakým způsobem uložit více listů do samostatného souboru?
Uložit celý sešit do nového souboru není problém (viz příloha), ale nevím si rady s uložením vybraných listů (např. list "faktura" a "doprava"). Případné vzorce by měly zůstat zachovány, nechci kopírovat jen hodnoty.
Příkazem Sheets(Array("faktura", "doprava")).Copy jsem schopen vytvořit nový soubor pouze s těmito listy, ale bohužel jsem nepřišel na to, jak tento nový soubor uložit (název by měl být vytvořen stejným způsobem, jak je uvedeno v příloze tzn. název "sample_" + text z buňky A1 na listu faktura).
Díky moc
Miroslav
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.